@snoai/memory 1.7.0 → 1.7.1

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 (351) hide show
  1. package/README.md +1 -1
  2. package/dist/{_types-CUKHSRkS.d.ts → _types-CZDWRxyi.d.ts} +0 -2
  3. package/dist/{access-tracker-CFxRg7Bt.d.ts → access-tracker-CtqCTq9b.d.ts} +4 -6
  4. package/dist/{adapter-BFtbOOw3.d.ts → adapter-6irg6Ykg.d.ts} +3 -7
  5. package/dist/{adapter-CG-UbOjU.js → adapter-BVBeFvUc.js} +2 -4
  6. package/dist/{agent-llm-port-BlFrD2ro.d.ts → agent-llm-port-i_L33_v_.d.ts} +0 -2
  7. package/dist/{all-resources-Dij6l5h0.d.ts → all-resources-3zj0PED4.d.ts} +2 -4
  8. package/dist/{all-resources-BQK2ugjB.js → all-resources-BZc9QIAW.js} +41 -81
  9. package/dist/{ambient-learning-text-normalizer-_fH3LeuK.d.ts → ambient-learning-text-normalizer-H_idEjJi.d.ts} +0 -2
  10. package/dist/{ambient-learning-text-normalizer-CxjATmMp.js → ambient-learning-text-normalizer-dxAxf9oi.js} +3 -5
  11. package/dist/{atomic-extraction-reply-DF_S9ROg.js → atomic-extraction-reply-CoxIGLmU.js} +6 -9
  12. package/dist/{atomic-extraction-skill-CcXmuCqL.js → atomic-extraction-skill-5lAqr8BM.js} +1 -2
  13. package/dist/{atomic-memory-extraction-pL1_58Kw.js → atomic-memory-extraction-CWMMWF2C.js} +27 -40
  14. package/dist/{atomic-memory-extraction-Bp7AWZqi.d.ts → atomic-memory-extraction-DcoaYWiS.d.ts} +6 -20
  15. package/dist/{b-profile-section-dictionary-provider-Buj_M-QA.d.ts → b-profile-section-dictionary-provider-BuzxMJtG.d.ts} +2 -6
  16. package/dist/{b-profile-section-dictionary-provider-BHkoNqgk.js → b-profile-section-dictionary-provider-DMGsJlYh.js} +3 -6
  17. package/dist/{best-effort-BPZSzKk0.d.ts → best-effort-DvyP9avp.d.ts} +0 -2
  18. package/dist/{calendar-instruction-CzqZbAPG.js → calendar-instruction-uK6xsrCt.js} +1 -2
  19. package/dist/{capture-policy-detector-3tDQkBi9.d.ts → capture-policy-detector-CEgDjHPq.d.ts} +1 -3
  20. package/dist/{capture-policy-detector-DaMfy9CZ.js → capture-policy-detector-DhNGhDw3.js} +5 -7
  21. package/dist/{classifier-CXQxJJPP.d.ts → classifier-DeFV9Zro.d.ts} +1 -5
  22. package/dist/client.d.ts +1 -3
  23. package/dist/client.js +4 -6
  24. package/dist/{coding-skin-AW1UPUPY.js → coding-skin-BnFryVac.js} +2 -4
  25. package/dist/coding-skin.d.ts +0 -4
  26. package/dist/coding-skin.js +1 -1
  27. package/dist/{config-BwUcq2zS.js → config-D6GJyMKz.js} +17 -34
  28. package/dist/{connection-D989FqGS.d.ts → connection-22Uywd-U.d.ts} +1 -6
  29. package/dist/{connection-BtK-3r-f.js → connection-H-_OZ-pP.js} +3 -5
  30. package/dist/{daily-log-generator-DEsiCs7o.js → daily-log-generator-DdzlaQYy.js} +8 -12
  31. package/dist/{daily-log-generator-CsQPHl4A.d.ts → daily-log-generator-IbaCpCH8.d.ts} +1 -5
  32. package/dist/{daily-spend-estimator-DiwzBlo1.d.ts → daily-spend-estimator-CKaQYiHB.d.ts} +0 -2
  33. package/dist/{data-bootstrap-Bl3lthzE.d.ts → data-bootstrap-Bf_VMTSc.d.ts} +0 -4
  34. package/dist/{data-bootstrap-P8sie9WA.js → data-bootstrap-Db6a7ASj.js} +1 -3
  35. package/dist/{data-paths-C7sNdqvP.d.ts → data-paths-CFwVskNd.d.ts} +0 -2
  36. package/dist/{derived-suppression-cache-CcANI-p7.d.ts → derived-suppression-cache-ByclOuKE.d.ts} +1 -7
  37. package/dist/diagnostic-encoder.d.ts +0 -2
  38. package/dist/diagnostic-encoder.js +2 -3
  39. package/dist/{embedding-provider-client-CELWtPgt.d.ts → embedding-provider-client-Bli3uXan.d.ts} +0 -4
  40. package/dist/{embedding-provider-client-CgpUK_1G.js → embedding-provider-client-ClgiYSD4.js} +4 -8
  41. package/dist/{entry-metadata-parser-BIVSMCIk.js → entry-metadata-parser-W53-Odqm.js} +1 -2
  42. package/dist/{error-D-wb-rZw.js → error-Dga5Ot1M.js} +1 -2
  43. package/dist/{error-signals-lMH2uAdV.js → error-signals-CqvwBBWn.js} +1 -2
  44. package/dist/{error-signals-D8_3vYu4.d.ts → error-signals-f0JhwtHI.d.ts} +0 -2
  45. package/dist/{errors-CeVRxf9V.d.ts → errors-Cqej5eCm.d.ts} +0 -2
  46. package/dist/{extraction-text-sanitizer-B_AhIecT.d.ts → extraction-text-sanitizer-D_7Ogceg.d.ts} +0 -2
  47. package/dist/{i18n-text-DbD6Qify.d.ts → i18n-text-CqS4mUit.d.ts} +0 -2
  48. package/dist/{index-Df9420Pl.d.ts → index-B0iQL0Kp.d.ts} +3 -15
  49. package/dist/{index-DPfJrOFD.d.ts → index-B3H1zNbk.d.ts} +2 -38
  50. package/dist/{index-CJrMFlAU.d.ts → index-oFJyQfvq.d.ts} +0 -2
  51. package/dist/index.d.ts +12 -14
  52. package/dist/index.js +18 -22
  53. package/dist/{intent-analyzer-B5XVrWwe.d.ts → intent-analyzer-DmeMSTrr.d.ts} +0 -2
  54. package/dist/internal/config/index.d.ts +1 -1
  55. package/dist/internal/config/index.js +1 -2
  56. package/dist/internal/config/plugin-config-schema.d.ts +1 -1
  57. package/dist/internal/config/plugin-config-schema.js +1 -2
  58. package/dist/internal/config/product-mode.d.ts +1 -1
  59. package/dist/internal/config/product-mode.js +1 -2
  60. package/dist/internal/config/settings.d.ts +1 -1
  61. package/dist/internal/config/settings.js +3 -4
  62. package/dist/internal/config/skill-categories.d.ts +1 -3
  63. package/dist/internal/config/skill-categories.js +1 -2
  64. package/dist/internal/config/skin-defaults.d.ts +1 -3
  65. package/dist/internal/config/skin-defaults.js +1 -2
  66. package/dist/internal/contract/discovery.d.ts +1 -3
  67. package/dist/internal/contract/discovery.js +2 -3
  68. package/dist/internal/contract/profile.d.ts +1 -1
  69. package/dist/internal/contract/profile.js +1 -2
  70. package/dist/internal/contract/routes.d.ts +1 -1
  71. package/dist/internal/contract/routes.js +1 -2
  72. package/dist/internal/engine/bindings/memory-cli-shared.d.ts +7 -9
  73. package/dist/internal/engine/bindings/memory-cli-shared.js +1 -2
  74. package/dist/internal/engine/bindings/memory-forget-tool.d.ts +1 -3
  75. package/dist/internal/engine/bindings/memory-forget-tool.js +2 -3
  76. package/dist/internal/engine/bindings/memory-list-tool.d.ts +1 -3
  77. package/dist/internal/engine/bindings/memory-list-tool.js +2 -3
  78. package/dist/internal/engine/bindings/memory-recall-tool.d.ts +1 -3
  79. package/dist/internal/engine/bindings/memory-recall-tool.js +3 -4
  80. package/dist/internal/engine/bindings/memory-reflection-resolve-tool.d.ts +1 -3
  81. package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +3 -4
  82. package/dist/internal/engine/bindings/memory-stats-tool.d.ts +1 -3
  83. package/dist/internal/engine/bindings/memory-stats-tool.js +3 -4
  84. package/dist/internal/engine/bindings/memory-store-tool.d.ts +1 -3
  85. package/dist/internal/engine/bindings/memory-store-tool.js +6 -7
  86. package/dist/internal/engine/bindings/memory-tool-access.d.ts +3 -5
  87. package/dist/internal/engine/bindings/memory-tool-access.js +2 -3
  88. package/dist/internal/engine/bindings/memory-tool-formatting.d.ts +1 -3
  89. package/dist/internal/engine/bindings/memory-tool-formatting.js +2 -3
  90. package/dist/internal/engine/bindings/memory-tool-results.d.ts +3 -5
  91. package/dist/internal/engine/bindings/memory-tool-results.js +2 -3
  92. package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +9 -11
  93. package/dist/internal/engine/bindings/memory-tool-schemas.js +2 -3
  94. package/dist/internal/engine/bindings/memory-update-tool.d.ts +1 -3
  95. package/dist/internal/engine/bindings/memory-update-tool.js +5 -6
  96. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +7 -9
  97. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +8 -9
  98. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +7 -9
  99. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +6 -7
  100. package/dist/internal/engine/bindings/sno-station-mem-hook-types.d.ts +1 -3
  101. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +8 -10
  102. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +4 -5
  103. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.d.ts +2 -4
  104. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +5 -6
  105. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +6 -8
  106. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.js +1 -2
  107. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +2 -4
  108. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.js +4 -5
  109. package/dist/internal/engine/bindings/sno-station-mem-session-state.d.ts +1 -3
  110. package/dist/internal/engine/bindings/sno-station-mem-session-state.js +1 -2
  111. package/dist/internal/engine/eval/trace.d.ts +1 -1
  112. package/dist/internal/engine/eval/trace.js +1 -2
  113. package/dist/internal/engine/extraction/ambient-learning-text-normalizer.d.ts +1 -1
  114. package/dist/internal/engine/extraction/ambient-learning-text-normalizer.js +1 -2
  115. package/dist/internal/engine/extraction/atomic-memory-extraction.d.ts +1 -1
  116. package/dist/internal/engine/extraction/atomic-memory-extraction.js +1 -2
  117. package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.d.ts +1 -1
  118. package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.js +1 -2
  119. package/dist/internal/engine/extraction/b-profile-section-rekey.d.ts +6 -8
  120. package/dist/internal/engine/extraction/b-profile-section-rekey.js +4 -5
  121. package/dist/internal/engine/extraction/capture-policy-detector.d.ts +1 -1
  122. package/dist/internal/engine/extraction/capture-policy-detector.js +1 -2
  123. package/dist/internal/engine/extraction/embedding-provider-client.d.ts +1 -1
  124. package/dist/internal/engine/extraction/embedding-provider-client.js +1 -2
  125. package/dist/internal/engine/extraction/extraction-text-sanitizer.d.ts +1 -1
  126. package/dist/internal/engine/extraction/extraction-text-sanitizer.js +3 -4
  127. package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +2 -2
  128. package/dist/internal/engine/extraction/memory-metadata-codec.js +1 -2
  129. package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +1 -1
  130. package/dist/internal/engine/extraction/memory-temporality-classifier.js +1 -2
  131. package/dist/internal/engine/i18n/all-resources.d.ts +1 -1
  132. package/dist/internal/engine/i18n/all-resources.js +1 -2
  133. package/dist/internal/engine/i18n/locales.d.ts +1 -1
  134. package/dist/internal/engine/i18n/locales.js +1 -2
  135. package/dist/internal/engine/i18n/res/_types.d.ts +1 -1
  136. package/dist/internal/engine/i18n/res/_types.js +1 -2
  137. package/dist/internal/engine/observability/adapter.d.ts +1 -1
  138. package/dist/internal/engine/observability/adapter.js +1 -2
  139. package/dist/internal/engine/observability/best-effort.d.ts +1 -1
  140. package/dist/internal/engine/observability/best-effort.js +1 -2
  141. package/dist/internal/engine/observability/early-diagnostics.js +1 -2
  142. package/dist/internal/engine/observability/memory-snapshot.d.ts +1 -1
  143. package/dist/internal/engine/observability/memory-snapshot.js +1 -2
  144. package/dist/internal/engine/observability/observable-embedder.d.ts +1 -1
  145. package/dist/internal/engine/observability/observable-embedder.js +2 -3
  146. package/dist/internal/engine/observability/observable-llm-client.d.ts +1 -1
  147. package/dist/internal/engine/observability/observable-llm-client.js +2 -3
  148. package/dist/internal/engine/observability/observable-memory-store.d.ts +1 -1
  149. package/dist/internal/engine/observability/observable-memory-store.js +4 -5
  150. package/dist/internal/engine/observability/observable-retriever.d.ts +1 -1
  151. package/dist/internal/engine/observability/observable-retriever.js +4 -5
  152. package/dist/internal/engine/observability/runtime-diagnostics.d.ts +2 -4
  153. package/dist/internal/engine/observability/runtime-diagnostics.js +6 -7
  154. package/dist/internal/engine/observability/session-registry.d.ts +1 -1
  155. package/dist/internal/engine/observability/session-registry.js +1 -2
  156. package/dist/internal/engine/observability/version-metadata.d.ts +1 -3
  157. package/dist/internal/engine/observability/version-metadata.js +1 -2
  158. package/dist/internal/engine/operations/daily-spend-estimator.d.ts +1 -1
  159. package/dist/internal/engine/operations/daily-spend-estimator.js +2 -3
  160. package/dist/internal/engine/operations/learning-file-maintenance.d.ts +1 -1
  161. package/dist/internal/engine/operations/learning-file-maintenance.js +3 -4
  162. package/dist/internal/engine/operations/memory-tier-promoter.d.ts +1 -1
  163. package/dist/internal/engine/operations/memory-tier-promoter.js +1 -2
  164. package/dist/internal/engine/operations/runtime-audit-log.d.ts +2 -2
  165. package/dist/internal/engine/operations/runtime-audit-log.js +1 -1
  166. package/dist/internal/engine/provider/canonical-memory-corpus.d.ts +2 -4
  167. package/dist/internal/engine/provider/canonical-memory-corpus.js +2 -3
  168. package/dist/internal/engine/provider/provider-registration.d.ts +7 -9
  169. package/dist/internal/engine/provider/provider-registration.js +1 -2
  170. package/dist/internal/engine/provider/provider-row-renderer.d.ts +2 -4
  171. package/dist/internal/engine/provider/provider-row-renderer.js +2 -3
  172. package/dist/internal/engine/provider/provider-types.d.ts +1 -1
  173. package/dist/internal/engine/reflection/daily-log-generator.d.ts +1 -1
  174. package/dist/internal/engine/reflection/daily-log-generator.js +1 -2
  175. package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +1 -1
  176. package/dist/internal/engine/reflection/reflection-command-hooks.js +1 -2
  177. package/dist/internal/engine/reflection/reflection-deps.d.ts +1 -1
  178. package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +1 -1
  179. package/dist/internal/engine/reflection/reflection-embedded-generator.js +1 -2
  180. package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +1 -1
  181. package/dist/internal/engine/reflection/reflection-injection-hooks.js +3 -4
  182. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +1 -1
  183. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +3 -4
  184. package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +3 -3
  185. package/dist/internal/engine/reflection/strategy-hook-runner.js +2 -2
  186. package/dist/internal/engine/rem/classifier.d.ts +1 -1
  187. package/dist/internal/engine/rem/classifier.js +1 -2
  188. package/dist/internal/engine/rem/index.d.ts +3 -3
  189. package/dist/internal/engine/rem/index.js +18 -36
  190. package/dist/internal/engine/rem/types.d.ts +1 -1
  191. package/dist/internal/engine/rem/types.js +1 -2
  192. package/dist/internal/engine/retrieval/access-tracker.d.ts +1 -1
  193. package/dist/internal/engine/retrieval/access-tracker.js +1 -2
  194. package/dist/internal/engine/retrieval/intent-analyzer.d.ts +1 -1
  195. package/dist/internal/engine/retrieval/intent-analyzer.js +1 -2
  196. package/dist/internal/engine/retrieval/retrieval-gate.d.ts +1 -1
  197. package/dist/internal/engine/retrieval/retrieval-gate.js +1 -2
  198. package/dist/internal/engine/retrieval/retriever.d.ts +1 -1
  199. package/dist/internal/engine/retrieval/retriever.js +1 -2
  200. package/dist/internal/engine/security/memory-scope-policy.d.ts +1 -1
  201. package/dist/internal/engine/security/memory-scope-policy.js +1 -2
  202. package/dist/internal/engine/security/redact.d.ts +1 -1
  203. package/dist/internal/engine/security/redact.js +1 -2
  204. package/dist/internal/engine/security/scopes.d.ts +2 -2
  205. package/dist/internal/engine/security/scopes.js +2 -2
  206. package/dist/internal/engine/shared/errors.d.ts +1 -1
  207. package/dist/internal/engine/shared/errors.js +1 -2
  208. package/dist/internal/engine/shared/i18n-text.d.ts +1 -1
  209. package/dist/internal/engine/shared/i18n-text.js +1 -2
  210. package/dist/internal/engine/shared/iso-date-time.d.ts +1 -3
  211. package/dist/internal/engine/shared/iso-date-time.js +1 -2
  212. package/dist/internal/engine/shared/lru.d.ts +1 -1
  213. package/dist/internal/engine/shared/lru.js +1 -2
  214. package/dist/internal/engine/shared/memory-kind-policy.d.ts +1 -1
  215. package/dist/internal/engine/shared/memory-kind-policy.js +1 -2
  216. package/dist/internal/engine/shared/paths.d.ts +2 -2
  217. package/dist/internal/engine/shared/paths.js +1 -2
  218. package/dist/internal/engine/shared/types.d.ts +2 -2
  219. package/dist/internal/engine/shared/types.js +2 -3
  220. package/dist/internal/engine/shared/utils.d.ts +1 -1
  221. package/dist/internal/engine/shared/utils.js +1 -2
  222. package/dist/internal/engine/telemetry/memory-telemetry-api.d.ts +5 -9
  223. package/dist/internal/engine/telemetry/memory-telemetry-api.js +6 -8
  224. package/dist/internal/engine/telemetry/memory-telemetry-observability.d.ts +2 -4
  225. package/dist/internal/engine/telemetry/memory-telemetry-observability.js +1 -2
  226. package/dist/internal/engine/telemetry/memory-telemetry-outbox.d.ts +1 -1
  227. package/dist/internal/engine/telemetry/memory-telemetry-outbox.js +4 -5
  228. package/dist/internal/engine/telemetry/memory-telemetry-types.d.ts +1 -1
  229. package/dist/internal/engine/telemetry/memory-telemetry-types.js +1 -2
  230. package/dist/internal/engine/telemetry/observe-ledger.d.ts +3 -5
  231. package/dist/internal/engine/telemetry/observe-ledger.js +2 -3
  232. package/dist/internal/model/agent-llm-port.d.ts +1 -1
  233. package/dist/internal/model/llm-client.d.ts +2 -2
  234. package/dist/internal/model/llm-client.js +2 -2
  235. package/dist/internal/model/llm-failure.d.ts +1 -3
  236. package/dist/internal/model/llm-failure.js +1 -2
  237. package/dist/internal/model/llm-mode-routing.d.ts +1 -3
  238. package/dist/internal/model/llm-mode-routing.js +2 -3
  239. package/dist/internal/store/atomic-memory-cutover-sql.d.ts +2 -4
  240. package/dist/internal/store/atomic-memory-cutover-sql.js +2 -3
  241. package/dist/internal/store/connection.d.ts +1 -1
  242. package/dist/internal/store/connection.js +1 -2
  243. package/dist/internal/store/data-bootstrap.d.ts +1 -1
  244. package/dist/internal/store/data-bootstrap.js +1 -2
  245. package/dist/internal/store/data-paths.d.ts +1 -1
  246. package/dist/internal/store/data-paths.js +1 -2
  247. package/dist/internal/store/maintenance.d.ts +4 -6
  248. package/dist/internal/store/maintenance.js +18 -25
  249. package/dist/internal/store/memory-kinds-cutover-migrator.d.ts +1 -3
  250. package/dist/internal/store/memory-kinds-cutover-migrator.js +4 -5
  251. package/dist/internal/store/migrations.d.ts +2 -4
  252. package/dist/internal/store/migrations.js +2 -3
  253. package/dist/internal/store/sqlite-runtime.d.ts +1 -1
  254. package/dist/internal/store/sqlite-runtime.js +2 -3
  255. package/dist/internal/store/store.d.ts +2 -2
  256. package/dist/internal/store/store.js +1 -2
  257. package/dist/{learning-file-maintenance-9b-Ut6Kv.d.ts → learning-file-maintenance-ZT6kHwb1.d.ts} +0 -2
  258. package/dist/{llm-client-nWW1o1F6.d.ts → llm-client-Bar23wPq.d.ts} +1 -5
  259. package/dist/{llm-client-Dq9FZPdC.js → llm-client-BtbX4af4.js} +8 -12
  260. package/dist/{locales-JxGmkG6t.d.ts → locales-CCZtQJq7.d.ts} +0 -2
  261. package/dist/{log-site-catalog.generated-Wze-GrOG.js → log-site-catalog.generated-Dtiih6m2.js} +3 -5
  262. package/dist/{lru-DyoaTyIs.d.ts → lru-DYiuPJFA.d.ts} +0 -2
  263. package/dist/memdump.d.ts +1 -3
  264. package/dist/memdump.js +1 -2
  265. package/dist/{memory-entry-projector-B36Nwsi_.js → memory-entry-projector-CkoEuLv6.js} +17 -30
  266. package/dist/{memory-kind-policy-BMebgugU.d.ts → memory-kind-policy-BRjhwhSl.d.ts} +1 -3
  267. package/dist/{memory-metadata-codec-H8BniJM3.d.ts → memory-metadata-codec-CcYw0t6c.d.ts} +1 -7
  268. package/dist/{memory-metadata-codec-DL1sbJiN.js → memory-metadata-codec-Cglikqj8.js} +4 -8
  269. package/dist/{memory-runtime-B4A1t5DO.js → memory-runtime-B9fG-sNo.js} +104 -204
  270. package/dist/{memory-scope-policy-1gg5QlWZ.d.ts → memory-scope-policy-4WfFFs_H.d.ts} +0 -4
  271. package/dist/{memory-scope-policy--TiLZnrE.js → memory-scope-policy-Dg2LHZ25.js} +3 -6
  272. package/dist/{memory-snapshot-CKnQovB5.d.ts → memory-snapshot-8RxJpqig.d.ts} +3 -5
  273. package/dist/{memory-source-order-YMRoeDLd.js → memory-source-order-BTo_ix2y.js} +1 -2
  274. package/dist/{memory-store-base-BHYXgsCq.d.ts → memory-store-base-CHBfMmZb.d.ts} +11 -21
  275. package/dist/{memory-store-shared-pOb59ScU.js → memory-store-shared-B-zOxk_Q.js} +4 -6
  276. package/dist/{memory-store-write-validation-B_hDG2zf.js → memory-store-write-validation-BbvoN3Li.js} +4 -7
  277. package/dist/{memory-telemetry-incidents-BWA9kcZx.js → memory-telemetry-incidents-Dp8GVD2Q.js} +1 -2
  278. package/dist/{memory-telemetry-metadata-CA7W8tK6.js → memory-telemetry-metadata-PMKWCAbj.js} +1 -2
  279. package/dist/{memory-telemetry-outbox-ddTdImt7.d.ts → memory-telemetry-outbox-D-L9c3Nw.d.ts} +2 -4
  280. package/dist/{memory-telemetry-receipts-MAJecvXQ.d.ts → memory-telemetry-receipts-Boj2CE16.d.ts} +1 -5
  281. package/dist/{memory-telemetry-receipts-cjIQGwdp.js → memory-telemetry-receipts-ComlCOro.js} +2 -4
  282. package/dist/{memory-telemetry-types-CufVmrCs.d.ts → memory-telemetry-types-Bg8U0Drl.d.ts} +0 -2
  283. package/dist/{memory-temporality-classifier-CHcnOT5T.js → memory-temporality-classifier-Bm0EiCN8.js} +7 -9
  284. package/dist/{memory-temporality-classifier-Wi6WWeAj.d.ts → memory-temporality-classifier-HI9KeEsM.d.ts} +1 -3
  285. package/dist/{memory-tier-promoter-m60-RlAj.d.ts → memory-tier-promoter-CqNT2qFj.d.ts} +1 -3
  286. package/dist/{memory-tool-dependencies-CAVm0Sy4.js → memory-tool-dependencies-BxVJ-bHs.js} +6 -6
  287. package/dist/memory-tool-dependencies-KsEWfLkV.d.ts +14 -0
  288. package/dist/{model-call-table-DjfbmUDl.js → model-call-table-BxGwmwv0.js} +2 -3
  289. package/dist/{model-reply-text-CKopStP2.js → model-reply-text-C7jEWDXG.js} +2 -4
  290. package/dist/{observable-embedder-0FwxJMhJ.d.ts → observable-embedder-DunGMyQg.d.ts} +2 -4
  291. package/dist/{observable-llm-client-DY7w1Fj1.d.ts → observable-llm-client-D_mOM5Pn.d.ts} +3 -5
  292. package/dist/{observable-memory-store-C25Q_hoW.d.ts → observable-memory-store-DUhat-p3.d.ts} +5 -7
  293. package/dist/{observable-retriever-Cs9Bwzq6.d.ts → observable-retriever-7TmJk1HE.d.ts} +6 -8
  294. package/dist/{operation-cancellation-QcwC4mDX.js → operation-cancellation-mqfQz0ka.js} +1 -2
  295. package/dist/paths-BySyy_eq.d.ts +1 -0
  296. package/dist/{plugin-config-observe-schema-ue9XxUj_.js → plugin-config-observe-schema-CwHVuVhu.js} +2 -3
  297. package/dist/{plugin-config-schema-DQh5njrS.d.ts → plugin-config-schema-DO4FhsYc.d.ts} +4 -24
  298. package/dist/{plugin-config-schema-D-IoHmis.js → plugin-config-schema-sJbkVY0-.js} +8 -14
  299. package/dist/{profile-CcvVR6K8.d.ts → profile-nVQCcv-0.d.ts} +1 -3
  300. package/dist/{profile-section-writer-3apndAJu.js → profile-section-writer-DSX6R3GF.js} +10 -15
  301. package/dist/{provider-registration-qLSA9CQl.js → provider-registration-lujpiuef.js} +5 -8
  302. package/dist/{provider-runtime-types-DFhtdA6d.d.ts → provider-runtime-types-peajl6V-.d.ts} +0 -2
  303. package/dist/{provider-types-CZGm6v88.d.ts → provider-types-DIU9efEA.d.ts} +1 -3
  304. package/dist/{redact-BTIZcHQL.d.ts → redact-BnUxXQUE.d.ts} +0 -2
  305. package/dist/{reflection-command-hooks-BRLqVNCi.d.ts → reflection-command-hooks-CvkTlbOa.d.ts} +5 -7
  306. package/dist/{reflection-command-hooks-B9UENMGV.js → reflection-command-hooks-Dyckr_Ma.js} +11 -14
  307. package/dist/{reflection-deps-C0TJ-gpU.d.ts → reflection-deps-AqE-y4Ba.d.ts} +6 -8
  308. package/dist/{reflection-embedded-generator-Cs59hWYr.d.ts → reflection-embedded-generator-BJol6by2.d.ts} +6 -8
  309. package/dist/{reflection-embedded-generator-Do_r_LbU.js → reflection-embedded-generator-i8KHqMpr.js} +5 -8
  310. package/dist/{reflection-injection-hooks-Cy4bRemm.d.ts → reflection-injection-hooks-C3PeK3QM.d.ts} +7 -11
  311. package/dist/{reflection-lifecycle-hooks-C-lf00DB.d.ts → reflection-lifecycle-hooks-Cjvwic3J.d.ts} +4 -6
  312. package/dist/{relation-dictionary-Cev1kyLe.js → relation-dictionary-QVBewRQ1.js} +3 -6
  313. package/dist/release-download.d.ts +1 -3
  314. package/dist/release-download.js +1 -2
  315. package/dist/{relevant-memories-context-m8nuFZcM.js → relevant-memories-context-CvMB_zj8.js} +1 -2
  316. package/dist/rem-batch-executor-BSWXFOLH.js +1 -0
  317. package/dist/{rem-consumer-retrieval-BhS1ivcd.js → rem-consumer-retrieval-DXeqknml.js} +3 -5
  318. package/dist/{rem-trigger-pg_cCp5U.js → rem-trigger-BaJa5FS0.js} +170 -339
  319. package/dist/{resolver-Dy-hnjCR.js → resolver-DQ47zbPS.js} +2 -4
  320. package/dist/{results-BkMsHy7M.js → results-DERE8r4S.js} +2 -3
  321. package/dist/{retrieval-gate-Bx2Zg7jD.d.ts → retrieval-gate-XvDp3HuK.d.ts} +0 -2
  322. package/dist/{retriever-2RJYAvlD.d.ts → retriever-Cv-hwHpH.d.ts} +10 -22
  323. package/dist/{retriever-C54bXeDh.js → retriever-DRtPp86k.js} +12 -22
  324. package/dist/{rolldown-runtime-D7D4PA-g.js → rolldown-runtime-D8jQpDG7.js} +1 -2
  325. package/dist/{runtime-audit-log-DK6xAYxh.js → runtime-audit-log-4NJsojEj.js} +2 -4
  326. package/dist/{runtime-audit-log-D2Hqk_kl.d.ts → runtime-audit-log-CJK9iVX9.d.ts} +1 -3
  327. package/dist/{scopes-CtrY-YQ3.d.ts → scopes-BcdyFdfw.d.ts} +1 -5
  328. package/dist/{scopes-a4Kly9n7.js → scopes-DQjbRC2q.js} +2 -3
  329. package/dist/{server-CByyXSvp.js → server-DPd3Xef2.js} +10 -15
  330. package/dist/{session-registry-DBoE7AvZ.d.ts → session-registry-Dft8oCDg.d.ts} +0 -2
  331. package/dist/sidecar/main.js +3 -4
  332. package/dist/{signed-registry-constants-Bv0fgZ8Q.d.ts → signed-registry-constants-BfycrCI1.d.ts} +0 -2
  333. package/dist/{signed-registry-constants-yq3DlG3B.js → signed-registry-constants-CO2vv_QJ.js} +1 -2
  334. package/dist/{sno-station-mem-runtime-dependencies-CgNS1dIM.js → sno-station-mem-runtime-dependencies-DITNvfkR.js} +14 -14
  335. package/dist/sno-station-mem-runtime-dependencies-DorPRtTM.d.ts +29 -0
  336. package/dist/{sqlite-runtime-L_ywirTm.d.ts → sqlite-runtime-Cea2knhj.d.ts} +0 -2
  337. package/dist/{store-Bz0y76cJ.d.ts → store-AGtE-n72.d.ts} +4 -14
  338. package/dist/{store-DNgKOGWP.js → store-YX1_c1NH.js} +44 -76
  339. package/dist/{strategy-hook-runner-Bg6rBY71.js → strategy-hook-runner-CwqZ1orf.js} +5 -7
  340. package/dist/{strategy-hook-runner-vbrWiDbK.d.ts → strategy-hook-runner-DqJpzS9C.d.ts} +7 -9
  341. package/dist/{token-counter-BD1f48Km.js → token-counter-N9I9iWq1.js} +1 -2
  342. package/dist/{trace-C1JxMfs-.d.ts → trace-CX26YO5M.d.ts} +0 -2
  343. package/dist/{types-El7jViCz.d.ts → types-CMbBmMJB.d.ts} +1 -5
  344. package/dist/{types-pVomjzqR.d.ts → types-qOSF58Ck.d.ts} +0 -2
  345. package/dist/{unplaced-candidate-migration-BCcdQkcx.js → unplaced-candidate-migration-BFQqjIDP.js} +8 -14
  346. package/dist/{utils-CDw2ttQf.d.ts → utils-CdhxW1G9.d.ts} +0 -2
  347. package/package.json +1 -1
  348. package/dist/memory-tool-dependencies-D2fOC-KL.d.ts +0 -14
  349. package/dist/paths-obFSsJv3.d.ts +0 -1
  350. package/dist/rem-batch-executor-BUgNyYLv.js +0 -2
  351. package/dist/sno-station-mem-runtime-dependencies-ByI3b-wB.d.ts +0 -31
@@ -1,4 +1,4 @@
1
- import { $ as FIXED_IDX_MEMORY_ACTIVE_TASK_CURRENT_REVISION, A as modelCallDestination, At as FIXED_MEMORY_PROFILE_RECOVERY_ENTRIES, B as FIXED_EXTERNAL_VALUE_49, C as getSnoStationMemStateDir, Cn as CHUNK_OVERLAP_TOKENS, Cr as ensureModelDownloaded, Ct as FIXED_MEMORY_CHUNKS_MEM_FACET_IDX, D as settingsToPluginConfig, Dn as DEFAULT_IMPORTANCE, Dt as FIXED_MEMORY_MEMORIES_FACT_ID_INSERT_GUARD, En as DEFAULT_BM25_WEIGHT, Et as FIXED_MEMORY_MEMORIES, Fn as EMBEDDER_DIM, G as FIXED_EXTERNAL_VALUE_55, H as FIXED_EXTERNAL_VALUE_52, Hn as HEAD_EXTRACT_OVERLAP_DROP_RATIO, In as EMBEDDER_MODEL_DEFAULT, It as FIXED_MEMORY_SNO_EXTRACT_CHAT, J as FIXED_EXTERNAL_VALUE_58, K as FIXED_EXTERNAL_VALUE_56, Kn as INTRA_MEMORY_COSINE_THRESHOLD, Kt as FIXED_PROTOCOL_VALUE_69, Ln as EMBEDDER_PROVIDER_DEFAULT, Mn as DEFAULT_RERANK_TIMEOUT_MS, Mt as FIXED_MEMORY_PROVIDER_PROJECT_AGENTS, Nt as FIXED_MEMORY_PROVIDER_PROJECT_MAPPINGS, O as MODEL_CALLS, On as DEFAULT_RECALL_LIFECYCLE, Ot as FIXED_MEMORY_MEMORIES_FACT_ID_UPDATE_GUARD, P as observeAgentId, Pn as DEFAULT_VECTOR_WEIGHT, Q as FIXED_IDX_MEMORY, Rn as EVAL_QA_TRACES_FILENAME, Rt as FIXED_MEMORY_TASK_LIFECYCLE_COMMANDS, Sn as CHUNK_MIN_TOKENS, Sr as LocalReranker, St as FIXED_MEMORY_CHUNKS_MEMORY_ID_IDX, T as readSettings, Tn as CHUNK_TOKENIZER_MODE, Tt as FIXED_MEMORY_EXTRACTION_TIMESTAMPS, U as FIXED_EXTERNAL_VALUE_53, Un as HEAD_EXTRACT_TOKEN_BUDGET, V as FIXED_EXTERNAL_VALUE_51, Vn as HEAD_EXTRACT_MIN_CONTENT_TOKENS, W as FIXED_EXTERNAL_VALUE_54, Wn as IMPORTANCE_WEIGHT_BASE, X as FIXED_EXTERNAL_VALUE_8, Xn as MAX_CHUNK_FETCH_LIMIT, Y as FIXED_EXTERNAL_VALUE_62, Z as FIXED_EXTERNAL_VALUE_9, Zn as MAX_LIST_LIMIT, _r as CachedEmbeddingProvider, _t as FIXED_MEMORY_CHUNKS, a as REM_MODEL_OUTPUT_TOKEN_CAP, an as PERSISTED_PROVIDER_SYSTEM, ar as RECENCY_WEIGHT, at as FIXED_IDX_MEMORY_MEMORIES_LANE_PROJECT, bn as CHUNKING_VERSION$1, bt as FIXED_MEMORY_CHUNKS_AU, cn as SUPPORTED_LOCALES, cr as RETRIEVAL_STORAGE_CHUNK_PROFILE, ct as FIXED_IDX_MEMORY_MEMORIES_PROJECT_FACT_KEY_ACTIVE, d as getRemDiscoveryPath, dn as ADJACENCY_BONUS_PER_PAIR, dt as FIXED_MEMORY_ACTIVE_TASK_EVIDENCE, en as FIXED_VEC_MEMORY, et as FIXED_IDX_MEMORY_ACTIVE_TASK_EVIDENCE_INSTANCE, ft as FIXED_MEMORY_ACTIVE_TASK_INSTANCES, g as readRemOperationalConfig, gt as FIXED_MEMORY_ACTIVE_TASK_TRANSITIONS, hr as experimentMmrDisabled, ht as FIXED_MEMORY_ACTIVE_TASK_REVISIONS, in as PERSISTED_CONTENT_HASH_V3, it as FIXED_IDX_MEMORY_MEMORIES_FACT_ID, jr as REM_SIDECAR_TOKEN_HEADER, jt as FIXED_MEMORY_PROVIDER_AGENT_MAPPINGS, k as MODEL_CALL_WORKLOAD, kt as FIXED_MEMORY_MIGRATION_MARKERS, lt as FIXED_IDX_MEMORY_MEMORIES_PROJECT_TIMESTAMP, mr as experimentCandidatePoolOverride, mt as FIXED_MEMORY_ACTIVE_TASK_MIGRATION_MANIFESTS, nn as PERSISTED_CANDIDATE_HASH_V1, nr as MULTI_HIT_BONUS_CAP, nt as FIXED_IDX_MEMORY_MEMORIES_CATEGORY, o as REM_RUN_PATH, ot as FIXED_IDX_MEMORY_MEMORIES_PROJECT, pt as FIXED_MEMORY_ACTIVE_TASK_MIGRATION_EVIDENCE, q as FIXED_EXTERNAL_VALUE_57, qt as FIXED_PROTOCOL_VALUE_73, r as REM_CORRELATION_ID_HEADER, rn as PERSISTED_CONTENT_HASH_V1, rr as MULTI_HIT_BONUS_PER_HIT, rt as FIXED_IDX_MEMORY_MEMORIES_CONTENT_HASH, s as REM_SIDECAR_HOST, sn as llmRoutingConfigSchema, st as FIXED_IDX_MEMORY_MEMORIES_PROJECT_CONTENT_HASH, tn as FIXED_VEC_MEMORY_CHUNKS, tr as MMR_LAMBDA, tt as FIXED_IDX_MEMORY_ACTIVE_TASK_INSTANCES_PROJECTION, un as ADJACENCY_BONUS_CAP, ur as TIME_DECAY_FLOOR, ut as FIXED_MEMORY, vn as BONUS_TOTAL_INVARIANT, vr as LOCAL_EMBEDDING_CACHE_DIR_DEFAULT, vt as FIXED_MEMORY_CHUNKS_AD, wn as CHUNK_TARGET_TOKENS, wt as FIXED_MEMORY_CHUNKS_MEM_IDX, xn as CHUNK_MAX_TOKENS, xr as LocalEmbedProvider, xt as FIXED_MEMORY_CHUNKS_FTS, yn as CACHE_TTL_MS, yr as LOCAL_EMBEDDING_MODEL, yt as FIXED_MEMORY_CHUNKS_AI, zt as FIXED_MEMORY_UNPLACED_CANDIDATES } from "./config-BwUcq2zS.js";
1
+ import { $ as FIXED_IDX_MEMORY_ACTIVE_TASK_CURRENT_REVISION, A as modelCallDestination, At as FIXED_MEMORY_PROFILE_RECOVERY_ENTRIES, B as FIXED_EXTERNAL_VALUE_49, C as getSnoStationMemStateDir, Cn as CHUNK_OVERLAP_TOKENS, Cr as ensureModelDownloaded, Ct as FIXED_MEMORY_CHUNKS_MEM_FACET_IDX, D as settingsToPluginConfig, Dn as DEFAULT_IMPORTANCE, Dt as FIXED_MEMORY_MEMORIES_FACT_ID_INSERT_GUARD, En as DEFAULT_BM25_WEIGHT, Et as FIXED_MEMORY_MEMORIES, Fn as EMBEDDER_DIM, G as FIXED_EXTERNAL_VALUE_55, H as FIXED_EXTERNAL_VALUE_52, Hn as HEAD_EXTRACT_OVERLAP_DROP_RATIO, In as EMBEDDER_MODEL_DEFAULT, It as FIXED_MEMORY_SNO_EXTRACT_CHAT, J as FIXED_EXTERNAL_VALUE_58, K as FIXED_EXTERNAL_VALUE_56, Kn as INTRA_MEMORY_COSINE_THRESHOLD, Kt as FIXED_PROTOCOL_VALUE_69, Ln as EMBEDDER_PROVIDER_DEFAULT, Mn as DEFAULT_RERANK_TIMEOUT_MS, Mt as FIXED_MEMORY_PROVIDER_PROJECT_AGENTS, Nt as FIXED_MEMORY_PROVIDER_PROJECT_MAPPINGS, O as MODEL_CALLS, On as DEFAULT_RECALL_LIFECYCLE, Ot as FIXED_MEMORY_MEMORIES_FACT_ID_UPDATE_GUARD, P as observeAgentId, Pn as DEFAULT_VECTOR_WEIGHT, Q as FIXED_IDX_MEMORY, Rn as EVAL_QA_TRACES_FILENAME, Rt as FIXED_MEMORY_TASK_LIFECYCLE_COMMANDS, Sn as CHUNK_MIN_TOKENS, Sr as LocalReranker, St as FIXED_MEMORY_CHUNKS_MEMORY_ID_IDX, T as readSettings, Tn as CHUNK_TOKENIZER_MODE, Tt as FIXED_MEMORY_EXTRACTION_TIMESTAMPS, U as FIXED_EXTERNAL_VALUE_53, Un as HEAD_EXTRACT_TOKEN_BUDGET, V as FIXED_EXTERNAL_VALUE_51, Vn as HEAD_EXTRACT_MIN_CONTENT_TOKENS, W as FIXED_EXTERNAL_VALUE_54, Wn as IMPORTANCE_WEIGHT_BASE, X as FIXED_EXTERNAL_VALUE_8, Xn as MAX_CHUNK_FETCH_LIMIT, Y as FIXED_EXTERNAL_VALUE_62, Z as FIXED_EXTERNAL_VALUE_9, Zn as MAX_LIST_LIMIT, _r as CachedEmbeddingProvider, _t as FIXED_MEMORY_CHUNKS, a as REM_MODEL_OUTPUT_TOKEN_CAP, an as PERSISTED_PROVIDER_SYSTEM, ar as RECENCY_WEIGHT, at as FIXED_IDX_MEMORY_MEMORIES_LANE_PROJECT, bn as CHUNKING_VERSION$1, bt as FIXED_MEMORY_CHUNKS_AU, cn as SUPPORTED_LOCALES, cr as RETRIEVAL_STORAGE_CHUNK_PROFILE, ct as FIXED_IDX_MEMORY_MEMORIES_PROJECT_FACT_KEY_ACTIVE, d as getRemDiscoveryPath, dn as ADJACENCY_BONUS_PER_PAIR, dt as FIXED_MEMORY_ACTIVE_TASK_EVIDENCE, en as FIXED_VEC_MEMORY, et as FIXED_IDX_MEMORY_ACTIVE_TASK_EVIDENCE_INSTANCE, ft as FIXED_MEMORY_ACTIVE_TASK_INSTANCES, g as readRemOperationalConfig, gt as FIXED_MEMORY_ACTIVE_TASK_TRANSITIONS, hr as experimentMmrDisabled, ht as FIXED_MEMORY_ACTIVE_TASK_REVISIONS, in as PERSISTED_CONTENT_HASH_V3, it as FIXED_IDX_MEMORY_MEMORIES_FACT_ID, jr as REM_SIDECAR_TOKEN_HEADER, jt as FIXED_MEMORY_PROVIDER_AGENT_MAPPINGS, k as MODEL_CALL_WORKLOAD, kt as FIXED_MEMORY_MIGRATION_MARKERS, lt as FIXED_IDX_MEMORY_MEMORIES_PROJECT_TIMESTAMP, mr as experimentCandidatePoolOverride, mt as FIXED_MEMORY_ACTIVE_TASK_MIGRATION_MANIFESTS, nn as PERSISTED_CANDIDATE_HASH_V1, nr as MULTI_HIT_BONUS_CAP, nt as FIXED_IDX_MEMORY_MEMORIES_CATEGORY, o as REM_RUN_PATH, ot as FIXED_IDX_MEMORY_MEMORIES_PROJECT, pt as FIXED_MEMORY_ACTIVE_TASK_MIGRATION_EVIDENCE, q as FIXED_EXTERNAL_VALUE_57, qt as FIXED_PROTOCOL_VALUE_73, r as REM_CORRELATION_ID_HEADER, rn as PERSISTED_CONTENT_HASH_V1, rr as MULTI_HIT_BONUS_PER_HIT, rt as FIXED_IDX_MEMORY_MEMORIES_CONTENT_HASH, s as REM_SIDECAR_HOST, sn as llmRoutingConfigSchema, st as FIXED_IDX_MEMORY_MEMORIES_PROJECT_CONTENT_HASH, tn as FIXED_VEC_MEMORY_CHUNKS, tr as MMR_LAMBDA, tt as FIXED_IDX_MEMORY_ACTIVE_TASK_INSTANCES_PROJECTION, un as ADJACENCY_BONUS_CAP, ur as TIME_DECAY_FLOOR, ut as FIXED_MEMORY, vn as BONUS_TOTAL_INVARIANT, vr as LOCAL_EMBEDDING_CACHE_DIR_DEFAULT, vt as FIXED_MEMORY_CHUNKS_AD, wn as CHUNK_TARGET_TOKENS, wt as FIXED_MEMORY_CHUNKS_MEM_IDX, xn as CHUNK_MAX_TOKENS, xr as LocalEmbedProvider, xt as FIXED_MEMORY_CHUNKS_FTS, yn as CACHE_TTL_MS, yr as LOCAL_EMBEDDING_MODEL, yt as FIXED_MEMORY_CHUNKS_AI, zt as FIXED_MEMORY_UNPLACED_CANDIDATES } from "./config-D6GJyMKz.js";
2
2
  import { createLogger, createLogger as createLogger$1, currentLogContext, privateLogReference, withLogContext } from "@snoai/utils/logger";
3
3
  import path, { dirname, join, resolve } from "node:path";
4
4
  import { appendFileSync, closeSync, createReadStream, existsSync, fstatSync, fsyncSync, ftruncateSync, mkdirSync, openSync, readFileSync, readSync, realpathSync, renameSync, rmSync, statSync, writeFileSync, writeSync } from "node:fs";
@@ -25,7 +25,7 @@ import { arch as arch$1, platform as platform$1 } from "node:process";
25
25
  import { getLoadablePath } from "sqlite-vec";
26
26
  import { isDeepStrictEqual } from "node:util";
27
27
  import { currentLogContext as currentLogContext$1, withLogContext as withLogContext$1 } from "@snoai/utils/log-context";
28
- //#region \0rolldown/runtime.js
28
+ // \0rolldown/runtime.js
29
29
  var __defProp = Object.defineProperty;
30
30
  var __exportAll = (all, no_symbols) => {
31
31
  let target = {};
@@ -36,8 +36,7 @@ var __exportAll = (all, no_symbols) => {
36
36
  if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
37
37
  return target;
38
38
  };
39
- //#endregion
40
- //#region src/engine/telemetry/observe-ledger.ts
39
+ // src/engine/telemetry/observe-ledger.ts
41
40
  const log$24 = createLogger("sno-station-mem:observe-ledger");
42
41
  const rowSchema = z.object({
43
42
  ts_ms: z.number().int().nonnegative(),
@@ -166,8 +165,7 @@ async function forwardObserveLedger(options) {
166
165
  async function forwardObserveLedgerUntilIdle(options) {
167
166
  for (;;) if ((await forwardObserveLedger(options)).status !== "forwarded") return;
168
167
  }
169
- //#endregion
170
- //#region src/engine/operation-cancellation.ts
168
+ // src/engine/operation-cancellation.ts
171
169
  const operations = new AsyncLocalStorage();
172
170
  const log$23 = createLogger("sno-station-mem:cancellation");
173
171
  /** Carries cancellation through the existing nested extraction and reflection writers. */
@@ -248,8 +246,7 @@ async function memoryFileWrite(write) {
248
246
  if (operation) operation.writes++;
249
247
  return result;
250
248
  }
251
- //#endregion
252
- //#region src/store/sqlite-runtime.ts
249
+ // src/store/sqlite-runtime.ts
253
250
  /** @file sqlite-runtime.ts
254
251
  * @purpose Single chokepoint for opening encrypted SQLite databases used by
255
252
  * the plugin. Routes all opens through `@snoai/sqlite-crypto`, which applies
@@ -348,8 +345,7 @@ function openSqliteDatabaseReadonly(dbPath) {
348
345
  db: guarded.db
349
346
  };
350
347
  }
351
- //#endregion
352
- //#region src/engine/telemetry/memory-telemetry-types.ts
348
+ // src/engine/telemetry/memory-telemetry-types.ts
353
349
  const MEMORY_TELEMETRY_EVENT_TYPES = [
354
350
  "create",
355
351
  "update",
@@ -368,8 +364,7 @@ const MEMORY_TELEMETRY_DELETE_REASONS = {
368
364
  function isMemoryTelemetryEventType(value) {
369
365
  return typeof value === "string" && MEMORY_TELEMETRY_EVENT_TYPES.includes(value);
370
366
  }
371
- //#endregion
372
- //#region config/attribute-dictionary.json
367
+ // config/attribute-dictionary.json
373
368
  var attribute_dictionary_default = {
374
369
  schema_version: 1,
375
370
  name: "attribute-dictionary",
@@ -4205,8 +4200,7 @@ var attribute_dictionary_default = {
4205
4200
  "travels"
4206
4201
  ]
4207
4202
  };
4208
- //#endregion
4209
- //#region src/engine/extraction/calendar-instruction.ts
4203
+ // src/engine/extraction/calendar-instruction.ts
4210
4204
  /** Calendar operations supplied by a model. This module never reads natural language. */
4211
4205
  /** Day names in ISO order; the wire carries the name because models do not share one numbering. */
4212
4206
  const WEEKDAYS = [
@@ -4396,8 +4390,7 @@ function calculateCalendarTime(instruction, sessionDateTime, sessionTimezone) {
4396
4390
  return null;
4397
4391
  }
4398
4392
  }
4399
- //#endregion
4400
- //#region config/relation-dictionary.json
4393
+ // config/relation-dictionary.json
4401
4394
  var relations = [
4402
4395
  {
4403
4396
  "type": "IS_A",
@@ -4727,8 +4720,7 @@ var relations = [
4727
4720
  ]
4728
4721
  }
4729
4722
  ];
4730
- //#endregion
4731
- //#region config/state-vocabulary.json
4723
+ // config/state-vocabulary.json
4732
4724
  var state_vocabulary_default = {
4733
4725
  schema_version: 1,
4734
4726
  name: "state-vocabulary",
@@ -4806,8 +4798,7 @@ var state_vocabulary_default = {
4806
4798
  }
4807
4799
  ]
4808
4800
  };
4809
- //#endregion
4810
- //#region src/model/llm-json-utils.ts
4801
+ // src/model/llm-json-utils.ts
4811
4802
  /** @file llm-json-utils.ts
4812
4803
  * @purpose Extracts and repairs JSON returned by LLM providers.
4813
4804
  * @boundary Response-text normalization only; schema validation remains with callers.
@@ -4982,8 +4973,7 @@ function repairCommonJson(text) {
4982
4973
  }
4983
4974
  return result;
4984
4975
  }
4985
- //#endregion
4986
- //#region src/engine/shared/model-reply-text.ts
4976
+ // src/engine/shared/model-reply-text.ts
4987
4977
  /** @file model-reply-text.ts
4988
4978
  * @purpose Turns one raw model reply into the ordered JSON payload candidates a caller may accept.
4989
4979
  * @boundary Response-text normalization only; the caller owns every schema decision.
@@ -5139,8 +5129,7 @@ function readModelReplyJson(raw, accept) {
5139
5129
  if (admitted !== void 0) return admitted;
5140
5130
  }
5141
5131
  }
5142
- //#endregion
5143
- //#region src/engine/extraction/atomic-extraction-skill.ts
5132
+ // src/engine/extraction/atomic-extraction-skill.ts
5144
5133
  /** @file atomic-extraction-skill.ts
5145
5134
  * @purpose Loads the model-readable atomic memory extraction method shipped with the plugin.
5146
5135
  * @boundary Package-relative read of one trusted bundled skill.
@@ -5190,8 +5179,7 @@ function atomicExtractionSkillReference(name) {
5190
5179
  if (text === void 0) throw new Error(`sno-station-mem atomic extraction skill reference missing: ${name}`);
5191
5180
  return text;
5192
5181
  }
5193
- //#endregion
5194
- //#region src/model/llm-mode-routing.ts
5182
+ // src/model/llm-mode-routing.ts
5195
5183
  /** @file llm-mode-routing.ts
5196
5184
  * @purpose Resolve one model call id to its configured destination and transport.
5197
5185
  */
@@ -5224,8 +5212,7 @@ function resolveLlmRoute(input) {
5224
5212
  parser: call.replyParser.snoGpu
5225
5213
  };
5226
5214
  }
5227
- //#endregion
5228
- //#region src/engine/shared/types.ts
5215
+ // src/engine/shared/types.ts
5229
5216
  const MEMORY_CATEGORIES = [
5230
5217
  "episodic",
5231
5218
  "profile",
@@ -5245,8 +5232,7 @@ function normalizeCategory(raw) {
5245
5232
  const lower = raw.toLowerCase().trim();
5246
5233
  if (MEMORY_CATEGORIES.includes(lower)) return lower;
5247
5234
  }
5248
- //#endregion
5249
- //#region src/engine/extraction/memory-metadata-normalizers.ts
5235
+ // src/engine/extraction/memory-metadata-normalizers.ts
5250
5236
  function validateMemoryCategory(raw) {
5251
5237
  return normalizeCategory(raw) ?? void 0;
5252
5238
  }
@@ -5336,8 +5322,7 @@ function deriveFactKey(metadata) {
5336
5322
  return signature ? `lesson:${signature}` : void 0;
5337
5323
  }
5338
5324
  }
5339
- //#endregion
5340
- //#region src/engine/extraction/memory-metadata-types.ts
5325
+ // src/engine/extraction/memory-metadata-types.ts
5341
5326
  /** @file memory-metadata-types.ts
5342
5327
  * @purpose Defines typed insight metadata contracts via Zod discriminated union.
5343
5328
  * @boundary Metadata shape declarations only.
@@ -5480,8 +5465,7 @@ const memoryMetadata = z.discriminatedUnion("kind", [
5480
5465
  summaryMetadata,
5481
5466
  stateMetadata
5482
5467
  ]);
5483
- //#endregion
5484
- //#region src/engine/shared/iso-date-time.ts
5468
+ // src/engine/shared/iso-date-time.ts
5485
5469
  /** @file iso-date-time.ts
5486
5470
  * @purpose Validates persisted ISO date/date-time strings without JavaScript Date rollover.
5487
5471
  * @boundary ISO string normalization and epoch parsing only; no relative date parsing.
@@ -5509,8 +5493,7 @@ function parseIsoDateTimeMs(value) {
5509
5493
  const parsed = Date.parse(normalized);
5510
5494
  return Number.isNaN(parsed) ? void 0 : parsed;
5511
5495
  }
5512
- //#endregion
5513
- //#region src/engine/extraction/memory-metadata-codec.ts
5496
+ // src/engine/extraction/memory-metadata-codec.ts
5514
5497
  /** @file memory-metadata-codec.ts
5515
5498
  * @purpose Normalizes extracted metadata into typed fields for ranking and filtering.
5516
5499
  * @boundary Extractor output, preference slots, and store metadata persistence.
@@ -5684,8 +5667,7 @@ function stringifyInsightMetadata(metadata) {
5684
5667
  delete capped.memory_layer;
5685
5668
  return JSON.stringify(capped);
5686
5669
  }
5687
- //#endregion
5688
- //#region src/engine/security/redact.ts
5670
+ // src/engine/security/redact.ts
5689
5671
  /** @file redact.ts
5690
5672
  * @purpose Redacts sensitive values before logs, diagnostics, or model-visible text.
5691
5673
  * @boundary Security boundaries, capture payloads, and CLI output hygiene.
@@ -5747,8 +5729,7 @@ function tokenizeForFts(rawQuery) {
5747
5729
  }
5748
5730
  return normalized.split(/\s+/u).filter(Boolean);
5749
5731
  }
5750
- //#endregion
5751
- //#region src/engine/shared/utils.ts
5732
+ // src/engine/shared/utils.ts
5752
5733
  /** @file utils.ts
5753
5734
  * @purpose Provides shared utility functions used across plugin runtime modules.
5754
5735
  * @boundary Text normalization, hashing, filesystem helpers, and small conversions.
@@ -5874,8 +5855,7 @@ function debugContentPreview(text, enabled, maxChars = 80) {
5874
5855
  return collapsed.length > maxChars ? `${collapsed.slice(0, maxChars)}...` : collapsed;
5875
5856
  }
5876
5857
  z.object({ source: z.object({ commit: z.string().min(1) }) });
5877
- //#endregion
5878
- //#region config/skin-defaults.ts
5858
+ // config/skin-defaults.ts
5879
5859
  /** Epoch milliseconds after which the requester no longer waits for the answer. */
5880
5860
  const HOST_MODEL_DEADLINE_HEADER = "x-sno-deadline";
5881
5861
  z.object({
@@ -5886,13 +5866,11 @@ z.object({
5886
5866
  counted: z.boolean(),
5887
5867
  path: z.string().min(1).optional()
5888
5868
  });
5889
- //#endregion
5890
- //#region config/coding-skin.ts
5869
+ // config/coding-skin.ts
5891
5870
  const CODING_SKIN_CHILD_DEADLINE_MS = 11e4;
5892
5871
  const CODING_SKIN_SESSION_QUERY = "standing decisions, open tasks, conventions and known pitfalls for this repository";
5893
5872
  const CODING_SKIN_LEDGER_MAX_CHARS = 12e3;
5894
- //#endregion
5895
- //#region src/engine/operations/jsonl-lines.ts
5873
+ // src/engine/operations/jsonl-lines.ts
5896
5874
  const log$22 = createLogger("sno-station-mem:jsonl");
5897
5875
  /** Preserve complete records without materializing an unbounded log as one string. */
5898
5876
  async function* readJsonlLines(file) {
@@ -5919,8 +5897,7 @@ async function* readJsonlLines(file) {
5919
5897
  stream.destroy();
5920
5898
  }
5921
5899
  }
5922
- //#endregion
5923
- //#region src/engine/operations/runtime-audit-log.ts
5900
+ // src/engine/operations/runtime-audit-log.ts
5924
5901
  /** @file runtime-audit-log.ts
5925
5902
  * @purpose Records audit events for operational visibility and safety-sensitive actions.
5926
5903
  * @boundary Plugin runtime events and filesystem-backed audit persistence.
@@ -6401,8 +6378,7 @@ function runWithMemoryAuditSync(options) {
6401
6378
  return result;
6402
6379
  });
6403
6380
  }
6404
- //#endregion
6405
- //#region src/model/llm-failure.ts
6381
+ // src/model/llm-failure.ts
6406
6382
  const CREDENTIAL_CATEGORIES = /* @__PURE__ */ new Set([
6407
6383
  "auth",
6408
6384
  "credential-expired",
@@ -6453,8 +6429,7 @@ function isTerminalLlmFailure$1(category) {
6453
6429
  function isTransientLlmStatus(status) {
6454
6430
  return status === 408 || status === 429 || status >= 500;
6455
6431
  }
6456
- //#endregion
6457
- //#region src/model/llmix-registry.ts
6432
+ // src/model/llmix-registry.ts
6458
6433
  /** @file llmix-registry.ts
6459
6434
  * @purpose Loads the bundled signed LLMIx registry for sno-station-mem.
6460
6435
  * @boundary Trust-anchor verification and package-relative asset resolution only.
@@ -6621,8 +6596,7 @@ async function resolveConfiguredBundledLlmixEndpoint(input) {
6621
6596
  baseSource: input.selectBaseSource(configured.provider)
6622
6597
  });
6623
6598
  }
6624
- //#endregion
6625
- //#region src/model/llm-endpoint-resolution.ts
6599
+ // src/model/llm-endpoint-resolution.ts
6626
6600
  const SNO_GPU_ORIGIN = "https://rt3-llm.sno.ai";
6627
6601
  const PROVIDER_API_BASES = {
6628
6602
  openai: FIXED_PROTOCOL_VALUE_69,
@@ -6651,8 +6625,7 @@ async function resolveLlmEndpoint(input) {
6651
6625
  userBaseUrlOverride: input.baseOverride !== void 0
6652
6626
  };
6653
6627
  }
6654
- //#endregion
6655
- //#region src/model/llm-provider-transport.ts
6628
+ // src/model/llm-provider-transport.ts
6656
6629
  const log$21 = createLogger("sno-station-mem:llm-provider-transport");
6657
6630
  const routeInFlight = /* @__PURE__ */ new Map();
6658
6631
  const providerResponses = new AsyncLocalStorage();
@@ -7119,8 +7092,7 @@ function resolveProviderApiKey(config, resolved, userBaseUrlOverride) {
7119
7092
  if (resolved.provider === "openai" && (!userBaseUrlOverride || isCcproxyOpenAiBaseUrl(config.baseURL?.trim()))) return CCPROXY_PLACEHOLDER_API_KEY;
7120
7093
  throw new Error(`sno-station-mem llm-client: missing API key for preset ${config.preset}; set snoGpu.apiKey`);
7121
7094
  }
7122
- //#endregion
7123
- //#region src/model/llm-client.ts
7095
+ // src/model/llm-client.ts
7124
7096
  const log$20 = createLogger("sno-station-mem:llm-client");
7125
7097
  let hostRequestsInFlight = 0;
7126
7098
  /**
@@ -7924,8 +7896,7 @@ function createLlmClient(config) {
7924
7896
  }
7925
7897
  };
7926
7898
  }
7927
- //#endregion
7928
- //#region src/engine/security/scope-policy-types.ts
7899
+ // src/engine/security/scope-policy-types.ts
7929
7900
  const DEFAULT_SCOPE_CONFIG = {
7930
7901
  default: "global",
7931
7902
  definitions: { global: { description: "Knowledge used by all your agents" } },
@@ -7940,8 +7911,7 @@ const SCOPE_PATTERNS = {
7940
7911
  PROJECT: (projectId) => `project:${projectId}`,
7941
7912
  USER: (userId) => `user:${userId}`
7942
7913
  };
7943
- //#endregion
7944
- //#region src/engine/security/scope-identity.ts
7914
+ // src/engine/security/scope-identity.ts
7945
7915
  /** @file scope-identity.ts
7946
7916
  * @purpose Normalizes agent identities and configured access lists for scope policy.
7947
7917
  * @boundary Identity parsing, bypass detection, and config normalization only.
@@ -7999,8 +7969,7 @@ function normalizeAgentAccessMap(agentAccess) {
7999
7969
  }
8000
7970
  return normalized;
8001
7971
  }
8002
- //#endregion
8003
- //#region src/engine/security/memory-scope-policy.ts
7972
+ // src/engine/security/memory-scope-policy.ts
8004
7973
  /** @file memory-scope-policy.ts
8005
7974
  * @purpose Implements mutable memory scope policy management.
8006
7975
  * @boundary Scope config validation and access decisions only.
@@ -8194,8 +8163,7 @@ var MemoryScopePolicy = class {
8194
8163
  function createScopePolicy(config = {}, warn) {
8195
8164
  return new MemoryScopePolicy(config, warn);
8196
8165
  }
8197
- //#endregion
8198
- //#region src/engine/shared/errors.ts
8166
+ // src/engine/shared/errors.ts
8199
8167
  /** @file errors.ts
8200
8168
  * @purpose Defines typed plugin errors and stable codes for callers and CLI output.
8201
8169
  * @boundary Runtime boundaries, CLI error mapping, and test assertions.
@@ -8249,8 +8217,7 @@ var RetrievalError = class extends SnoStationMemError {
8249
8217
  this.name = "RetrievalError";
8250
8218
  }
8251
8219
  };
8252
- //#endregion
8253
- //#region src/engine/i18n/res/locale-resource-helpers.ts
8220
+ // src/engine/i18n/res/locale-resource-helpers.ts
8254
8221
  function defineLocaleResources(base, extras) {
8255
8222
  const categoryRouting = base.captureTriggers.categoryRouting ?? {
8256
8223
  identity: [base.captureTriggers.identityPattern],
@@ -8274,13 +8241,11 @@ function defineLocaleResources(base, extras) {
8274
8241
  reflectionSliceClassifiers: extras.reflectionSliceClassifiers
8275
8242
  };
8276
8243
  }
8277
- //#endregion
8278
- //#region src/engine/i18n/res/date-resolution-prompt.ts
8244
+ // src/engine/i18n/res/date-resolution-prompt.ts
8279
8245
  function buildDateResolutionPrompt() {
8280
8246
  return `${atomicExtractionSkillReference("calendar-meaning")}\nJudge only the time of the supplied claim. Return reason and time in the supplied JSON schema.`;
8281
8247
  }
8282
- //#endregion
8283
- //#region src/engine/extraction/temporal-resolution-skill.ts
8248
+ // src/engine/extraction/temporal-resolution-skill.ts
8284
8249
  /** @file temporal-resolution-skill.ts
8285
8250
  * @purpose Loads the model-readable relative-time method shipped with the plugin.
8286
8251
  * @boundary Package-relative read and deterministic section selection only.
@@ -8312,8 +8277,7 @@ const WITHOUT_SESSION_ANCHOR = readSection$1("Without Session Anchor");
8312
8277
  function buildTemporalResolutionRule(sessionDateTime, _sessionTimezone) {
8313
8278
  return sessionDateTime ? WITH_SESSION_ANCHOR : WITHOUT_SESSION_ANCHOR;
8314
8279
  }
8315
- //#endregion
8316
- //#region src/engine/i18n/res/de/extraction-prompt-boundary.ts
8280
+ // src/engine/i18n/res/de/extraction-prompt-boundary.ts
8317
8281
  /** @file extraction-prompt-boundary.ts
8318
8282
  * @purpose Provides locale-specific prompt fence and temporal boundary helpers.
8319
8283
  * @boundary LLM prompt assembly internals for this locale.
@@ -8559,8 +8523,7 @@ legacy category event <- reject
8559
8523
  "abstract": "User's son attends preschool: [Preschool Name]" <- placeholder, destroys recall
8560
8524
  "abstract": "User's team members and their locations" <- collapsed concrete names
8561
8525
  \`\`\``;
8562
- //#endregion
8563
- //#region src/engine/i18n/res/de/extraction-prompt-rules.ts
8526
+ // src/engine/i18n/res/de/extraction-prompt-rules.ts
8564
8527
  /** @file extraction-prompt-rules.ts
8565
8528
  * @purpose Holds locale-specific extraction rule text blocks.
8566
8529
  * @boundary LLM prompt assembly internals for this locale.
@@ -8652,8 +8615,7 @@ Wenn der Benutzer sagt "migrated from X to Y" / "switched from X to Y" /
8652
8615
  Änderung ALS AUCH eine \`profile\`-Memory für den aktualisierten Zustand aus.
8653
8616
  Siehe das Migrations-Few-Shot im Abschnitt extraction-prompt-examples.ts für
8654
8617
  die erforderliche Zwei-Memory-Ausgabeform.`;
8655
- //#endregion
8656
- //#region src/engine/i18n/res/de/extraction-prompts.ts
8618
+ // src/engine/i18n/res/de/extraction-prompts.ts
8657
8619
  /** @file extraction-prompts.ts
8658
8620
  * @purpose Builds prompt text for structured memory extraction from conversation context.
8659
8621
  * @boundary Capture policy, JSON contracts, and LLM model behavior.
@@ -8854,8 +8816,7 @@ Return JSON format:
8854
8816
  "reason": "Decision reason"
8855
8817
  }`;
8856
8818
  }
8857
- //#endregion
8858
- //#region src/engine/i18n/res/de/reflection-prompts.ts
8819
+ // src/engine/i18n/res/de/reflection-prompts.ts
8859
8820
  const REFLECTION_FALLBACK_MARKER$8 = "(fallback) Reflection-Generierung fehlgeschlagen; nur Minimalverweis gespeichert.";
8860
8821
  function buildReflectionPrompt$8(conversation, maxInputChars, toolErrorSignals = []) {
8861
8822
  const promptInput = conversation;
@@ -9015,8 +8976,7 @@ const resources$8 = defineLocaleResources({
9015
8976
  derivedLegacySignals: [/\b(gelernt|beobachtet|reflexion|änderung|verifizieren|nächster lauf)\b/i]
9016
8977
  }
9017
8978
  });
9018
- //#endregion
9019
- //#region src/engine/i18n/res/en/extraction-prompt-boundary.ts
8979
+ // src/engine/i18n/res/en/extraction-prompt-boundary.ts
9020
8980
  /** @file extraction-prompt-boundary.ts
9021
8981
  * @purpose Provides locale-specific prompt fence and temporal boundary helpers.
9022
8982
  * @boundary LLM prompt assembly internals for this locale.
@@ -9262,8 +9222,7 @@ legacy category event <- reject
9262
9222
  "abstract": "User's son attends preschool: [Preschool Name]" <- placeholder, destroys recall
9263
9223
  "abstract": "User's team members and their locations" <- collapsed concrete names
9264
9224
  \`\`\``;
9265
- //#endregion
9266
- //#region src/engine/i18n/res/en/extraction-prompt-rules.ts
9225
+ // src/engine/i18n/res/en/extraction-prompt-rules.ts
9267
9226
  /** @file extraction-prompt-rules.ts
9268
9227
  * @purpose Holds locale-specific extraction rule text blocks.
9269
9228
  * @boundary LLM prompt assembly internals for this locale.
@@ -9353,8 +9312,7 @@ When the user says "migrated from X to Y" / "switched from X to Y" / "sold X,
9353
9312
  got Y": emit BOTH a dated \`episodic\` record for the change AND a \`profile\`
9354
9313
  record for the updated current state. See the migration few-shot in the examples
9355
9314
  section for the required two-memory output shape.`;
9356
- //#endregion
9357
- //#region src/engine/i18n/res/en/extraction-prompts.ts
9315
+ // src/engine/i18n/res/en/extraction-prompts.ts
9358
9316
  /** @file extraction-prompts.ts
9359
9317
  * @purpose Builds prompt text for structured memory extraction from conversation context.
9360
9318
  * @boundary Capture policy, JSON contracts, and LLM model behavior.
@@ -9555,8 +9513,7 @@ Return JSON format:
9555
9513
  "reason": "Decision reason"
9556
9514
  }`;
9557
9515
  }
9558
- //#endregion
9559
- //#region src/engine/i18n/res/en/reflection-prompts.ts
9516
+ // src/engine/i18n/res/en/reflection-prompts.ts
9560
9517
  const REFLECTION_FALLBACK_MARKER$7 = "(fallback) Reflection generation failed; storing minimal pointer only.";
9561
9518
  function buildReflectionPrompt$7(conversation, maxInputChars, toolErrorSignals = []) {
9562
9519
  const promptInput = conversation;
@@ -9721,8 +9678,7 @@ const resources$7 = defineLocaleResources({
9721
9678
  derivedLegacySignals: [/\b(this run|next run|learned|observed|reflection|derived|delta|verify|change)\b/i]
9722
9679
  }
9723
9680
  });
9724
- //#endregion
9725
- //#region src/engine/i18n/res/es/extraction-prompt-boundary.ts
9681
+ // src/engine/i18n/res/es/extraction-prompt-boundary.ts
9726
9682
  /** @file extraction-prompt-boundary.ts
9727
9683
  * @purpose Provides locale-specific prompt fence and temporal boundary helpers.
9728
9684
  * @boundary LLM prompt assembly internals for this locale.
@@ -9967,8 +9923,7 @@ legacy category event <- reject
9967
9923
  "abstract": "User's son attends preschool: [Preschool Name]" <- placeholder, destroys recall
9968
9924
  "abstract": "User's team members and their locations" <- collapsed concrete names
9969
9925
  \`\`\``;
9970
- //#endregion
9971
- //#region src/engine/i18n/res/es/extraction-prompt-rules.ts
9926
+ // src/engine/i18n/res/es/extraction-prompt-rules.ts
9972
9927
  /** @file extraction-prompt-rules.ts
9973
9928
  * @purpose Holds locale-specific extraction rule text blocks.
9974
9929
  * @boundary LLM prompt assembly internals for this locale.
@@ -10058,8 +10013,7 @@ Cuando el usuario diga "migrated from X to Y" / "switched from X to Y" /
10058
10013
  "sold X, got Y": emita TANTO un registro \`episodic\` fechado para el cambio
10059
10014
  COMO un registro \`profile\` para el estado actual actualizado. Vea el few-shot de migración
10060
10015
  en la sección de ejemplos para la forma de salida de dos memorias requerida.`;
10061
- //#endregion
10062
- //#region src/engine/i18n/res/es/extraction-prompts.ts
10016
+ // src/engine/i18n/res/es/extraction-prompts.ts
10063
10017
  /** @file extraction-prompts.ts
10064
10018
  * @purpose Builds prompt text for structured memory extraction from conversation context.
10065
10019
  * @boundary Capture policy, JSON contracts, and LLM model behavior.
@@ -10260,8 +10214,7 @@ Return JSON format:
10260
10214
  "reason": "Decision reason"
10261
10215
  }`;
10262
10216
  }
10263
- //#endregion
10264
- //#region src/engine/i18n/res/es/reflection-prompts.ts
10217
+ // src/engine/i18n/res/es/reflection-prompts.ts
10265
10218
  const REFLECTION_FALLBACK_MARKER$6 = "(fallback) Falló la generación de la reflexión; solo se almacena un puntero mínimo.";
10266
10219
  function buildReflectionPrompt$6(conversation, maxInputChars, toolErrorSignals = []) {
10267
10220
  const promptInput = conversation;
@@ -10420,8 +10373,7 @@ const resources$6 = defineLocaleResources({
10420
10373
  derivedLegacySignals: [/\b(aprendimos|observado|reflexión|reflexion|derivado|delta|verificar|cambio)\b/i]
10421
10374
  }
10422
10375
  });
10423
- //#endregion
10424
- //#region src/engine/i18n/res/fr/extraction-prompt-boundary.ts
10376
+ // src/engine/i18n/res/fr/extraction-prompt-boundary.ts
10425
10377
  /** @file extraction-prompt-boundary.ts
10426
10378
  * @purpose Provides locale-specific prompt fence and temporal boundary helpers.
10427
10379
  * @boundary LLM prompt assembly internals for this locale.
@@ -10666,8 +10618,7 @@ legacy category event <- reject
10666
10618
  "abstract": "User's son attends preschool: [Preschool Name]" <- placeholder, destroys recall
10667
10619
  "abstract": "User's team members and their locations" <- collapsed concrete names
10668
10620
  \`\`\``;
10669
- //#endregion
10670
- //#region src/engine/i18n/res/fr/extraction-prompt-rules.ts
10621
+ // src/engine/i18n/res/fr/extraction-prompt-rules.ts
10671
10622
  /** @file extraction-prompt-rules.ts
10672
10623
  * @purpose Holds locale-specific extraction rule text blocks.
10673
10624
  * @boundary LLM prompt assembly internals for this locale.
@@ -10753,8 +10704,7 @@ Quand l'utilisateur dit "migrated from X to Y" / "switched from X to Y" / "sold
10753
10704
  got Y" : émettez À LA FOIS un enregistrement \`episodic\` daté pour le changement ET un
10754
10705
  enregistrement \`profile\` pour l'état courant mis à jour. Voir le few-shot de migration
10755
10706
  pour la forme de sortie à deux memories requise.`;
10756
- //#endregion
10757
- //#region src/engine/i18n/res/fr/extraction-prompts.ts
10707
+ // src/engine/i18n/res/fr/extraction-prompts.ts
10758
10708
  /** @file extraction-prompts.ts
10759
10709
  * @purpose Builds prompt text for structured memory extraction from conversation context.
10760
10710
  * @boundary Capture policy, JSON contracts, and LLM model behavior.
@@ -10955,8 +10905,7 @@ Return JSON format:
10955
10905
  "reason": "Decision reason"
10956
10906
  }`;
10957
10907
  }
10958
- //#endregion
10959
- //#region src/engine/i18n/res/fr/reflection-prompts.ts
10908
+ // src/engine/i18n/res/fr/reflection-prompts.ts
10960
10909
  const REFLECTION_FALLBACK_MARKER$5 = "(fallback) Échec de la génération de la réflexion ; seul un pointeur minimal est stocké.";
10961
10910
  function buildReflectionPrompt$5(conversation, maxInputChars, toolErrorSignals = []) {
10962
10911
  const promptInput = conversation;
@@ -11112,8 +11061,7 @@ const resources$5 = defineLocaleResources({
11112
11061
  derivedLegacySignals: [/\b(appris|observé|observe|réflexion|reflexion|dérivé|delta|vérifier|changement)\b/i]
11113
11062
  }
11114
11063
  });
11115
- //#endregion
11116
- //#region src/engine/i18n/res/ja/extraction-prompt-boundary.ts
11064
+ // src/engine/i18n/res/ja/extraction-prompt-boundary.ts
11117
11065
  /** @file extraction-prompt-boundary.ts
11118
11066
  * @purpose Provides locale-specific prompt fence and temporal boundary helpers.
11119
11067
  * @boundary LLM prompt assembly internals for this locale.
@@ -11356,8 +11304,7 @@ legacy category event <- reject
11356
11304
  "abstract": "User's son attends preschool: [Preschool Name]" <- placeholder, destroys recall
11357
11305
  "abstract": "User's team members and their locations" <- collapsed concrete names
11358
11306
  \`\`\``;
11359
- //#endregion
11360
- //#region src/engine/i18n/res/ja/extraction-prompt-rules.ts
11307
+ // src/engine/i18n/res/ja/extraction-prompt-rules.ts
11361
11308
  /** @file extraction-prompt-rules.ts
11362
11309
  * @purpose Holds locale-specific extraction rule text blocks.
11363
11310
  * @boundary LLM prompt assembly internals for this locale.
@@ -11443,8 +11390,7 @@ SAME per-role entity の中に保持してください("Employment dates" を
11443
11390
  と述べる場合:変更を記録する日付付きの \`episodic\` memory と、更新後の現在状態を
11444
11391
  記録する \`profile\` memory の両方を生成してください。必要な 2 memory の
11445
11392
  出力形式は examples ファイルの migration few-shot を参照。`;
11446
- //#endregion
11447
- //#region src/engine/i18n/res/ja/extraction-prompts.ts
11393
+ // src/engine/i18n/res/ja/extraction-prompts.ts
11448
11394
  /** @file extraction-prompts.ts
11449
11395
  * @purpose Builds prompt text for structured memory extraction from conversation context.
11450
11396
  * @boundary Capture policy, JSON contracts, and LLM model behavior.
@@ -11645,8 +11591,7 @@ Return JSON format:
11645
11591
  "reason": "Decision reason"
11646
11592
  }`;
11647
11593
  }
11648
- //#endregion
11649
- //#region src/engine/i18n/res/ja/reflection-prompts.ts
11594
+ // src/engine/i18n/res/ja/reflection-prompts.ts
11650
11595
  const REFLECTION_FALLBACK_MARKER$4 = "(fallback) リフレクション生成に失敗。最小ポインタのみを保存。";
11651
11596
  function buildReflectionPrompt$4(conversation, maxInputChars, toolErrorSignals = []) {
11652
11597
  const promptInput = conversation;
@@ -11797,8 +11742,7 @@ const resources$4 = defineLocaleResources({
11797
11742
  derivedLegacySignals: [/学び|観察|振り返り|反省|派生|差分|確認|変更/]
11798
11743
  }
11799
11744
  });
11800
- //#endregion
11801
- //#region src/engine/i18n/res/ko/extraction-prompt-boundary.ts
11745
+ // src/engine/i18n/res/ko/extraction-prompt-boundary.ts
11802
11746
  /** @file extraction-prompt-boundary.ts
11803
11747
  * @purpose Provides locale-specific prompt fence and temporal boundary helpers.
11804
11748
  * @boundary LLM prompt assembly internals for this locale.
@@ -12039,8 +11983,7 @@ legacy category event <- reject
12039
11983
  "abstract": "User's son attends preschool: [Preschool Name]" <- placeholder, destroys recall
12040
11984
  "abstract": "User's team members and their locations" <- collapsed concrete names
12041
11985
  \`\`\``;
12042
- //#endregion
12043
- //#region src/engine/i18n/res/ko/extraction-prompt-rules.ts
11986
+ // src/engine/i18n/res/ko/extraction-prompt-rules.ts
12044
11987
  /** @file extraction-prompt-rules.ts
12045
11988
  * @purpose Holds locale-specific extraction rule text blocks.
12046
11989
  * @boundary LLM prompt assembly internals for this locale.
@@ -12123,8 +12066,7 @@ memory 로 만드십시오 ("Employment dates" 를 별도 memory 로 분기시
12123
12066
  라고 말할 때: 변경을 기록하는 날짜가 있는 \`episodic\` memory AND 업데이트된 현재
12124
12067
  상태를 기록하는 \`profile\` memory 를 모두 출력하십시오. 필수 두-memory 출력 형태는
12125
12068
  예제 섹션의 migration few-shot 을 참조하십시오.`;
12126
- //#endregion
12127
- //#region src/engine/i18n/res/ko/extraction-prompts.ts
12069
+ // src/engine/i18n/res/ko/extraction-prompts.ts
12128
12070
  /** @file extraction-prompts.ts
12129
12071
  * @purpose Builds prompt text for structured memory extraction from conversation context.
12130
12072
  * @boundary Capture policy, JSON contracts, and LLM model behavior.
@@ -12325,8 +12267,7 @@ Return JSON format:
12325
12267
  "reason": "Decision reason"
12326
12268
  }`;
12327
12269
  }
12328
- //#endregion
12329
- //#region src/engine/i18n/res/ko/reflection-prompts.ts
12270
+ // src/engine/i18n/res/ko/reflection-prompts.ts
12330
12271
  const REFLECTION_FALLBACK_MARKER$3 = "(fallback) 리플렉션 생성 실패; 최소 포인터만 저장.";
12331
12272
  function buildReflectionPrompt$3(conversation, maxInputChars, toolErrorSignals = []) {
12332
12273
  const promptInput = conversation;
@@ -12532,8 +12473,7 @@ const resources$3 = defineLocaleResources({
12532
12473
  derivedLegacySignals: [/배움|관찰|회고|반성|파생|변경|확인/]
12533
12474
  }
12534
12475
  });
12535
- //#endregion
12536
- //#region src/engine/i18n/res/ru/extraction-prompt-boundary.ts
12476
+ // src/engine/i18n/res/ru/extraction-prompt-boundary.ts
12537
12477
  /** @file extraction-prompt-boundary.ts
12538
12478
  * @purpose Provides locale-specific prompt fence and temporal boundary helpers.
12539
12479
  * @boundary LLM prompt assembly internals for this locale.
@@ -12778,8 +12718,7 @@ legacy category event <- reject
12778
12718
  "abstract": "User's son attends preschool: [Preschool Name]" <- placeholder, destroys recall
12779
12719
  "abstract": "User's team members and their locations" <- collapsed concrete names
12780
12720
  \`\`\``;
12781
- //#endregion
12782
- //#region src/engine/i18n/res/ru/extraction-prompt-rules.ts
12721
+ // src/engine/i18n/res/ru/extraction-prompt-rules.ts
12783
12722
  /** @file extraction-prompt-rules.ts
12784
12723
  * @purpose Holds locale-specific extraction rule text blocks.
12785
12724
  * @boundary LLM prompt assembly internals for this locale.
@@ -12866,8 +12805,7 @@ duration И любыми датами начала, удержанными вн
12866
12805
  "sold X, got Y": выпускайте ОБА — датированную запись \`episodic\` об изменении
12867
12806
  И запись \`profile\` для обновлённого текущего состояния. См. migration few-shot
12868
12807
  в секции примеров для требуемой формы вывода из двух memory.`;
12869
- //#endregion
12870
- //#region src/engine/i18n/res/ru/extraction-prompts.ts
12808
+ // src/engine/i18n/res/ru/extraction-prompts.ts
12871
12809
  /** @file extraction-prompts.ts
12872
12810
  * @purpose Builds prompt text for structured memory extraction from conversation context.
12873
12811
  * @boundary Capture policy, JSON contracts, and LLM model behavior.
@@ -13068,8 +13006,7 @@ Return JSON format:
13068
13006
  "reason": "Decision reason"
13069
13007
  }`;
13070
13008
  }
13071
- //#endregion
13072
- //#region src/engine/i18n/res/ru/reflection-prompts.ts
13009
+ // src/engine/i18n/res/ru/reflection-prompts.ts
13073
13010
  const REFLECTION_FALLBACK_MARKER$2 = "(fallback) Сбой генерации рефлексии; сохранён только минимальный указатель.";
13074
13011
  function buildReflectionPrompt$2(conversation, maxInputChars, toolErrorSignals = []) {
13075
13012
  const promptInput = conversation;
@@ -13224,8 +13161,7 @@ const resources$2 = defineLocaleResources({
13224
13161
  derivedLegacySignals: [/(?:^|[^\p{L}\p{N}_])(узнали|наблюдали|рефлексия|вывод|дельта|проверить|изменение)(?=$|[^\p{L}\p{N}_])/iu]
13225
13162
  }
13226
13163
  });
13227
- //#endregion
13228
- //#region src/engine/i18n/res/zh/extraction-prompt-boundary.ts
13164
+ // src/engine/i18n/res/zh/extraction-prompt-boundary.ts
13229
13165
  /** @file extraction-prompt-boundary.ts
13230
13166
  * @purpose Provides locale-specific prompt fence and temporal boundary helpers.
13231
13167
  * @boundary LLM prompt assembly internals for this locale.
@@ -13466,8 +13402,7 @@ legacy category event <- reject
13466
13402
  "abstract": "User's son attends preschool: [Preschool Name]" <- placeholder, destroys recall
13467
13403
  "abstract": "User's team members and their locations" <- collapsed concrete names
13468
13404
  \`\`\``;
13469
- //#endregion
13470
- //#region src/engine/i18n/res/zh/extraction-prompt-rules.ts
13405
+ // src/engine/i18n/res/zh/extraction-prompt-rules.ts
13471
13406
  /** @file extraction-prompt-rules.ts
13472
13407
  * @purpose Holds locale-specific extraction rule text blocks.
13473
13408
  * @boundary LLM prompt assembly internals for this locale.
@@ -13537,8 +13472,7 @@ const GRANULARITY_RULE$1 = `# GRANULARITY — 一条 memory 一个话题槽位
13537
13472
  事实同理:工作经历按 role 是一个话题。"3 years at DeepMind" 与 "4 years at Google" 是不同话题,尽管都描述既往就业。把它们建为各自的 entity memory,并把任何开始日期保留在同一条 per-role entity 里(不要把 "Employment dates" 分叉成独立 memory —— 应答模型可能会加总日期而非使用陈述的年限)。
13538
13473
 
13539
13474
  当用户说 "migrated from X to Y" / "switched from X to Y" / "sold X, got Y":同时输出一条记录变更且带日期的 \`episodic\` memory,和一条记录更新后当前状态的 \`profile\` memory。要求的两条 memory 输出形态见示例文件中的 migration few-shot。`;
13540
- //#endregion
13541
- //#region src/engine/i18n/res/zh/extraction-prompts.ts
13475
+ // src/engine/i18n/res/zh/extraction-prompts.ts
13542
13476
  /** @file extraction-prompts.ts
13543
13477
  * @purpose Builds prompt text for structured memory extraction from conversation context.
13544
13478
  * @boundary Capture policy, JSON contracts, and LLM model behavior.
@@ -13739,8 +13673,7 @@ Return JSON format:
13739
13673
  "reason": "Decision reason"
13740
13674
  }`;
13741
13675
  }
13742
- //#endregion
13743
- //#region src/engine/i18n/res/zh/reflection-prompts.ts
13676
+ // src/engine/i18n/res/zh/reflection-prompts.ts
13744
13677
  const REFLECTION_FALLBACK_MARKER$1 = "(fallback) 反思生成失败,仅存储最小占位记录。";
13745
13678
  function buildReflectionPrompt$1(conversation, maxInputChars, toolErrorSignals = []) {
13746
13679
  const promptInput = conversation;
@@ -13902,8 +13835,7 @@ const resources$1 = defineLocaleResources({
13902
13835
  derivedLegacySignals: [/学到|观察|反思|派生|变化|验证|复查/]
13903
13836
  }
13904
13837
  });
13905
- //#endregion
13906
- //#region src/engine/i18n/res/zh-Hant/extraction-prompt-boundary.ts
13838
+ // src/engine/i18n/res/zh-Hant/extraction-prompt-boundary.ts
13907
13839
  /** @file extraction-prompt-boundary.ts
13908
13840
  * @purpose Provides locale-specific prompt fence and temporal boundary helpers.
13909
13841
  * @boundary LLM prompt assembly internals for this locale.
@@ -14144,8 +14076,7 @@ legacy category event <- reject
14144
14076
  "abstract": "User's son attends preschool: [Preschool Name]" <- placeholder, destroys recall
14145
14077
  "abstract": "User's team members and their locations" <- collapsed concrete names
14146
14078
  \`\`\``;
14147
- //#endregion
14148
- //#region src/engine/i18n/res/zh-Hant/extraction-prompt-rules.ts
14079
+ // src/engine/i18n/res/zh-Hant/extraction-prompt-rules.ts
14149
14080
  /** @file extraction-prompt-rules.ts
14150
14081
  * @purpose Holds locale-specific extraction rule text blocks.
14151
14082
  * @boundary LLM prompt assembly internals for this locale.
@@ -14222,8 +14153,7 @@ entity memory,並把陳述的年限與任何開始日期保留在同一條 per
14222
14153
  got Y":同時輸出一條記錄變更且帶日期的 \`episodic\` memory,和一條記錄更新後
14223
14154
  當前狀態的 \`profile\` memory。要求的兩條 memory 輸出形態請見 examples
14224
14155
  檔中的 migration few-shot。`;
14225
- //#endregion
14226
- //#region src/engine/i18n/res/zh-Hant/extraction-prompts.ts
14156
+ // src/engine/i18n/res/zh-Hant/extraction-prompts.ts
14227
14157
  /** @file extraction-prompts.ts
14228
14158
  * @purpose Builds prompt text for structured memory extraction from conversation context.
14229
14159
  * @boundary Capture policy, JSON contracts, and LLM model behavior.
@@ -14424,8 +14354,7 @@ Return JSON format:
14424
14354
  "reason": "Decision reason"
14425
14355
  }`;
14426
14356
  }
14427
- //#endregion
14428
- //#region src/engine/i18n/res/zh-Hant/reflection-prompts.ts
14357
+ // src/engine/i18n/res/zh-Hant/reflection-prompts.ts
14429
14358
  const REFLECTION_FALLBACK_MARKER = "(fallback) 反思生成失敗,僅儲存最小佔位記錄。";
14430
14359
  function buildReflectionPrompt(conversation, maxInputChars, toolErrorSignals = []) {
14431
14360
  const promptInput = conversation;
@@ -14587,8 +14516,7 @@ const resources = defineLocaleResources({
14587
14516
  derivedLegacySignals: [/學到|觀察|反思|派生|變化|驗證|複查/]
14588
14517
  }
14589
14518
  });
14590
- //#endregion
14591
- //#region src/engine/i18n/all-resources.ts
14519
+ // src/engine/i18n/all-resources.ts
14592
14520
  /**
14593
14521
  * Static union of every supported-locale's resource bundle.
14594
14522
  *
@@ -14622,8 +14550,7 @@ const RESOURCES_BY_LOCALE = {
14622
14550
  ko: resources$3,
14623
14551
  ru: resources$2
14624
14552
  };
14625
- //#endregion
14626
- //#region src/engine/retrieval/relevant-memories-context.ts
14553
+ // src/engine/retrieval/relevant-memories-context.ts
14627
14554
  /** @file relevant-memories-context.ts
14628
14555
  * @purpose Formats retrieved memories into model-visible context with clear boundaries.
14629
14556
  * @boundary Retriever results, prompt-injection safety, and recall presentation.
@@ -14635,8 +14562,7 @@ const RELEVANT_MEMORIES_OPEN_TAG = "<relevant-memories>";
14635
14562
  const RELEVANT_MEMORIES_CLOSE_TAG = "</relevant-memories>";
14636
14563
  const RELEVANT_MEMORIES_PREAMBLE_LINES = [RELEVANT_MEMORIES_UNTRUSTED_LINE, RELEVANT_MEMORIES_INSTRUCTION_LINE];
14637
14564
  new RegExp(`^\\s*memory\\s+\\d+:\\s*\\{`, "i");
14638
- //#endregion
14639
- //#region src/engine/extraction/runtime-wrapper-sanitizer.ts
14565
+ // src/engine/extraction/runtime-wrapper-sanitizer.ts
14640
14566
  /** @file runtime-wrapper-sanitizer.ts
14641
14567
  * @purpose Single source of truth for stripping `[Subagent Context|Task]` wrappers
14642
14568
  * and the boilerplate that follows them from the lead-in of captured text.
@@ -14708,8 +14634,7 @@ function stripLeadingRuntimeWrappers(text) {
14708
14634
  }
14709
14635
  return cleanedLines.join("\n").trim();
14710
14636
  }
14711
- //#endregion
14712
- //#region src/engine/extraction/ambient-learning-text-normalizer.ts
14637
+ // src/engine/extraction/ambient-learning-text-normalizer.ts
14713
14638
  /** @file ambient-learning-text-normalizer.ts
14714
14639
  * @purpose Normalizes Ambient Learning conversation text before extraction and storage.
14715
14640
  * @boundary Capture filters, prompt-injection boundaries, and Insight Distill input quality.
@@ -14803,8 +14728,7 @@ function normalizeAmbientLearningText(role, text, shouldSkipMessage) {
14803
14728
  if (shouldSkipMessage?.(role, normalized)) return null;
14804
14729
  return normalized;
14805
14730
  }
14806
- //#endregion
14807
- //#region src/engine/extraction/extraction-text-sanitizer.ts
14731
+ // src/engine/extraction/extraction-text-sanitizer.ts
14808
14732
  /** @file extraction-text-sanitizer.ts
14809
14733
  * @purpose Normalize runtime payload text before it reaches memory extraction.
14810
14734
  * @boundary Removes channel/runtime envelope metadata only; does not classify or persist memories.
@@ -14911,8 +14835,7 @@ function stripEnvelopeMetadata(text) {
14911
14835
  content: cleaned
14912
14836
  }).projections.plainText;
14913
14837
  }
14914
- //#endregion
14915
- //#region src/engine/extraction/date-resolution.ts
14838
+ // src/engine/extraction/date-resolution.ts
14916
14839
  /** Model-only time interpretation followed by deterministic calendar arithmetic. */
14917
14840
  const log$17 = createLogger("sno-station-mem:date-resolution");
14918
14841
  /** No model means no semantic decision. Preserve the text rather than interpreting it. */
@@ -15024,8 +14947,7 @@ async function resolveMemoryDate(input) {
15024
14947
  stage
15025
14948
  };
15026
14949
  }
15027
- //#endregion
15028
- //#region src/engine/extraction/memory-temporality-classifier.ts
14950
+ // src/engine/extraction/memory-temporality-classifier.ts
15029
14951
  function parseSessionTimestamp(sessionDateTime) {
15030
14952
  return parseIsoDateTimeMs(sessionDateTime);
15031
14953
  }
@@ -15055,8 +14977,7 @@ function serializeIntervalMetadata(category, interval) {
15055
14977
  return base;
15056
14978
  }
15057
14979
  createLogger("sno-station-mem:scopes");
15058
- //#endregion
15059
- //#region src/store/memory-source-order.ts
14980
+ // src/store/memory-source-order.ts
15060
14981
  function compareNumber(left, right) {
15061
14982
  if (left === right) return 0;
15062
14983
  return left < right ? -1 : 1;
@@ -15188,8 +15109,7 @@ function closeMemoryRow(database, input) {
15188
15109
  }), validUntil, input.targetRowId);
15189
15110
  return true;
15190
15111
  }
15191
- //#endregion
15192
- //#region src/engine/rem/adapter-a-conflict-adjudicator.ts
15112
+ // src/engine/rem/adapter-a-conflict-adjudicator.ts
15193
15113
  /** @file adapter-a-conflict-adjudicator.ts
15194
15114
  * @purpose Renders and parses a fail-safe conflict verdict for an ordered memory pair.
15195
15115
  * @boundary Accepts package-level memory views only; callers adapt their storage records.
@@ -15335,8 +15255,7 @@ function extractJsonFromResponse(text) {
15335
15255
  if (lastBrace === -1) return null;
15336
15256
  return text.substring(firstBrace, lastBrace + 1);
15337
15257
  }
15338
- //#endregion
15339
- //#region src/engine/rem/classifier.ts
15258
+ // src/engine/rem/classifier.ts
15340
15259
  const REM_TRANSITION_GRAMMAR_SHA256 = "8fd5439ec2b85ca27bfa462600869973f991a6f44f956c734596ee9c9d44153d";
15341
15260
  const REM_ADDITIONAL_TRANSITION_PATTERN_SHA256 = "cb42c6a25ccd51b16da6a3de7d931f1165af284a89cdc365860bd359ae84bd9f";
15342
15261
  const REM_CURRENT_PROGRESSIVE_PATTERN_SHA256 = "ddc1c0119c1f9c4e5178dc0e6eec9ca8a7594ed10e2dd8305646f5363e9d24ad";
@@ -15418,8 +15337,7 @@ function assertPatternPin(pattern, declaredSha256, expectedSha256, name) {
15418
15337
  if (observedSha256 !== declaredSha256) throw new Error(`${name} digest mismatch: declared ${declaredSha256}, observed ${observedSha256}`);
15419
15338
  if (observedSha256 !== expectedSha256) throw new Error(`${name} is not pinned: expected ${expectedSha256}, observed ${observedSha256}`);
15420
15339
  }
15421
- //#endregion
15422
- //#region src/engine/rem/operational-config.ts
15340
+ // src/engine/rem/operational-config.ts
15423
15341
  const sha256Schema$1 = z.string().regex(/^[0-9a-f]{64}$/u);
15424
15342
  const positiveSafeInteger = z.number().int().safe().positive("value must be positive and non-zero");
15425
15343
  const nullablePercentage = z.number().min(0).max(1).nullable();
@@ -15478,8 +15396,7 @@ function canonicalJson$2(value) {
15478
15396
  const record = value;
15479
15397
  return `{${Object.keys(record).sort().map((key) => `${JSON.stringify(key)}:${canonicalJson$2(record[key])}`).join(",")}}`;
15480
15398
  }
15481
- //#endregion
15482
- //#region src/engine/rem/census.ts
15399
+ // src/engine/rem/census.ts
15483
15400
  function sha256$2(value) {
15484
15401
  return createHash("sha256").update(value).digest("hex");
15485
15402
  }
@@ -15491,8 +15408,7 @@ function deriveRemWriteIdentity(input) {
15491
15408
  input.timestamp
15492
15409
  ]));
15493
15410
  }
15494
- //#endregion
15495
- //#region src/engine/rem/clause-splitter.ts
15411
+ // src/engine/rem/clause-splitter.ts
15496
15412
  /**
15497
15413
  * Produces the fixed, lossless clause list used by REM judgments. The text itself
15498
15414
  * remains the authority: clause values are exact source slices and separators are retained.
@@ -15521,8 +15437,7 @@ function splitExactClauses(text) {
15521
15437
  if (clauses.map((clause) => `${clause.value}${clause.separatorAfter}`).join("") !== text) throw new Error("REM clause splitter must preserve source bytes");
15522
15438
  return clauses;
15523
15439
  }
15524
- //#endregion
15525
- //#region src/engine/rem/update-locale-resources.ts
15440
+ // src/engine/rem/update-locale-resources.ts
15526
15441
  const REM_UPDATE_LOCALES = [
15527
15442
  "en",
15528
15443
  "de",
@@ -15602,8 +15517,7 @@ const REM_UPDATE_LOCALE_RESOURCES = {
15602
15517
  function getRemUpdateLocaleResource(locale) {
15603
15518
  return REM_UPDATE_LOCALE_RESOURCES[locale];
15604
15519
  }
15605
- //#endregion
15606
- //#region src/engine/rem/update-rewrite.ts
15520
+ // src/engine/rem/update-rewrite.ts
15607
15521
  function composeRemNegatedCurrent(input) {
15608
15522
  const generatedRowId = `rem-negated-${createHash("sha256").update(`${input.topic}\u0000${input.retractionText}`).digest("hex").slice(0, 24)}`;
15609
15523
  return {
@@ -15631,8 +15545,7 @@ function extractListMemberSpans(source) {
15631
15545
  }];
15632
15546
  });
15633
15547
  }
15634
- //#endregion
15635
- //#region src/engine/rem/types.ts
15548
+ // src/engine/rem/types.ts
15636
15549
  const REM_OPERATION_TYPES = [
15637
15550
  "rem-update",
15638
15551
  "rem-replace",
@@ -15658,8 +15571,7 @@ function assertJobIdentity(jobId, jobType) {
15658
15571
  if (typeof jobId !== "string" || jobId.trim().length === 0) throw new Error(`REM write requires a non-blank job id, got: ${String(jobId)}`);
15659
15572
  if (typeof jobType !== "string" || parseRemOperationType(jobType) === void 0) throw new Error(`REM write requires a known job type, got: ${String(jobType)}`);
15660
15573
  }
15661
- //#endregion
15662
- //#region src/engine/rem/enable-gate.ts
15574
+ // src/engine/rem/enable-gate.ts
15663
15575
  const SHA256_PATTERN = /^[0-9a-f]{64}$/;
15664
15576
  z.object({
15665
15577
  schema_version: z.number().int(),
@@ -15671,8 +15583,7 @@ z.object({
15671
15583
  evaluated_at: z.string().datetime(),
15672
15584
  expires_at: z.string().datetime()
15673
15585
  }).strict();
15674
- //#endregion
15675
- //#region src/engine/rem/entry-governance.ts
15586
+ // src/engine/rem/entry-governance.ts
15676
15587
  async function recordNonRefusePairDecision(input) {
15677
15588
  if (input.decision === "allow" || input.throughRefusePair) return;
15678
15589
  if (input.reason === null || input.reason.trim().length === 0) throw new Error("A refused pair decision requires a reason");
@@ -15711,8 +15622,7 @@ function validateRemSubstantiveWaveEffects(input) {
15711
15622
  reasonCode: null
15712
15623
  };
15713
15624
  }
15714
- //#endregion
15715
- //#region src/engine/rem/row-hash.ts
15625
+ // src/engine/rem/row-hash.ts
15716
15626
  /**
15717
15627
  * The one definition of a REM whole-row hash.
15718
15628
  *
@@ -15750,8 +15660,7 @@ function hashRemMemoryRow(row) {
15750
15660
  for (const field of REM_ROW_HASH_FIELDS) projected[field] = row[field] ?? null;
15751
15661
  return createHash("sha256").update(JSON.stringify(projected)).digest("hex");
15752
15662
  }
15753
- //#endregion
15754
- //#region src/engine/rem/facet-persistence.ts
15663
+ // src/engine/rem/facet-persistence.ts
15755
15664
  async function writeRemTwoFacetTransaction(input) {
15756
15665
  const timestamp = input.timestamp ?? (/* @__PURE__ */ new Date()).toISOString();
15757
15666
  const updatedAtMs = Date.parse(timestamp);
@@ -15811,8 +15720,7 @@ async function writeRemTwoFacetTransaction(input) {
15811
15720
  };
15812
15721
  }).immediate();
15813
15722
  }
15814
- //#endregion
15815
- //#region src/engine/rem/repository.ts
15723
+ // src/engine/rem/repository.ts
15816
15724
  const bootIdPath = "/proc/sys/kernel/random/boot_id";
15817
15725
  function createRemRepository(database) {
15818
15726
  return {
@@ -16411,8 +16319,7 @@ function parseBudgetReservation(value) {
16411
16319
  };
16412
16320
  throw new Error("budget transaction returned an invalid result");
16413
16321
  }
16414
- //#endregion
16415
- //#region src/engine/rem/replace-clause-verdict.ts
16322
+ // src/engine/rem/replace-clause-verdict.ts
16416
16323
  function buildReplaceEligibleClauses(older, newer) {
16417
16324
  return [...splitExactClauses(older).map((clause) => ({
16418
16325
  origin: "older",
@@ -16474,8 +16381,7 @@ function isRecord(value) {
16474
16381
  function hasOnlyKeys(value, expected) {
16475
16382
  return Object.keys(value).length === expected.length && expected.every((key) => key in value);
16476
16383
  }
16477
- //#endregion
16478
- //#region src/engine/rem/replace-coverage.ts
16384
+ // src/engine/rem/replace-coverage.ts
16479
16385
  const replaceCoverageSchema = z.object({ atoms: z.array(z.object({
16480
16386
  clause_index: z.number().int().nonnegative(),
16481
16387
  class: z.enum([
@@ -16583,8 +16489,7 @@ async function decideEventFacts(carrier, atoms, observations, uncertifiedClauses
16583
16489
  ...uncertifiedClauses.length === 0 ? {} : { uncertifiedClauses: [...uncertifiedClauses] }
16584
16490
  };
16585
16491
  }
16586
- //#endregion
16587
- //#region src/engine/rem/rem-update-judgment.ts
16492
+ // src/engine/rem/rem-update-judgment.ts
16588
16493
  const judgmentSchema$1 = z.object({
16589
16494
  proposed_current: z.string(),
16590
16495
  retired_values: z.array(z.string())
@@ -16824,8 +16729,7 @@ function parseJudgment$1(reply) {
16824
16729
  retiredValues: parsed.data.retired_values
16825
16730
  };
16826
16731
  }
16827
- //#endregion
16828
- //#region src/engine/rem/runner.ts
16732
+ // src/engine/rem/runner.ts
16829
16733
  async function runRemStages(input) {
16830
16734
  const results = {};
16831
16735
  for (const stage of input.stages) {
@@ -16874,8 +16778,7 @@ function journal$1(stage, outcome) {
16874
16778
  actionsApplied: 0
16875
16779
  };
16876
16780
  }
16877
- //#endregion
16878
- //#region src/engine/rem/schema.ts
16781
+ // src/engine/rem/schema.ts
16879
16782
  const REM_SCHEMA_SQL = `
16880
16783
  CREATE TABLE IF NOT EXISTS nodix_rem_relation_ledger (
16881
16784
  row_id TEXT PRIMARY KEY,
@@ -17178,8 +17081,7 @@ function ensureHolderBootIdColumn(database, tableName) {
17178
17081
  if (database.prepare(`PRAGMA table_info(${tableName})`).all().some((column) => column.name === "holder_boot_id")) return;
17179
17082
  database.exec(`ALTER TABLE ${tableName} ADD COLUMN holder_boot_id TEXT`);
17180
17083
  }
17181
- //#endregion
17182
- //#region src/engine/shared/ambient-capture-hash.ts
17084
+ // src/engine/shared/ambient-capture-hash.ts
17183
17085
  function normalizeAmbientCaptureHashMetadata(metadata) {
17184
17086
  return {
17185
17087
  source: metadata.source,
@@ -17217,8 +17119,7 @@ function readAmbientCaptureHashMetadata(metadata) {
17217
17119
  content_type: metadata.content_type
17218
17120
  };
17219
17121
  }
17220
- //#endregion
17221
- //#region src/store/entity-name-key-migration.ts
17122
+ // src/store/entity-name-key-migration.ts
17222
17123
  /** @file entity-name-key-migration.ts
17223
17124
  * @purpose Re-keys entity names so several names can identify one entity.
17224
17125
  * @boundary Idempotent SQLite table rebuild only; no identity judgment.
@@ -17277,8 +17178,7 @@ function applyEntityNameKeyMigration(database) {
17277
17178
  database.exec("PRAGMA foreign_keys = ON");
17278
17179
  }
17279
17180
  }
17280
- //#endregion
17281
- //#region src/store/schema.ts
17181
+ // src/store/schema.ts
17282
17182
  /** @file schema.ts
17283
17183
  * @purpose Defines SQLite tables, indexes, and typed schema contracts for plugin storage.
17284
17184
  * @boundary Drizzle schema, migrations, and store query assumptions.
@@ -17534,8 +17434,7 @@ const nodixProfileRecoveryEntries = sqliteTable("nodix_profile_recovery_entries"
17534
17434
  removedValue: text("removed_value").notNull(),
17535
17435
  removedAtMs: integer("removed_at_ms").notNull()
17536
17436
  });
17537
- //#endregion
17538
- //#region src/store/legacy-database-namespace-migration.ts
17437
+ // src/store/legacy-database-namespace-migration.ts
17539
17438
  const TABLE_RENAMES = [
17540
17439
  {
17541
17440
  legacy: FIXED_MEMORY_MEMORIES,
@@ -18001,8 +17900,7 @@ function readSchemaSql(database, type, name) {
18001
17900
  function quoteIdentifier(identifier) {
18002
17901
  return `"${identifier.replaceAll("\"", "\"\"")}"`;
18003
17902
  }
18004
- //#endregion
18005
- //#region src/store/simple-tokenizer-path.ts
17903
+ // src/store/simple-tokenizer-path.ts
18006
17904
  /** @file simple-tokenizer-path.ts
18007
17905
  * @purpose Resolve the bundled `simple-tokenizer` SQLite extension binary +
18008
17906
  * jieba dictionary path for the current platform.
@@ -18058,8 +17956,7 @@ function resolveSimpleTokenizerPath() {
18058
17956
  }
18059
17957
  throw new Error(`simple-tokenizer binary missing for ${PLATFORM_KEY$1}. Looked under: ${candidates.join(", ")}. Run \`node scripts/download-simple-tokenizer.mjs\` from the plugin directory, or rsync the \`sqlite-extensions/\` folder onto this host.`);
18060
17958
  }
18061
- //#endregion
18062
- //#region src/store/sqlite-vec-path.ts
17959
+ // src/store/sqlite-vec-path.ts
18063
17960
  /** @file sqlite-vec-path.ts
18064
17961
  * @purpose Resolves and loads the symbol-isolated sqlite-vec extension shipped with sno-station-mem.
18065
17962
  * @boundary Path selection only; Linux x64 and arm64 must use the bundled binary.
@@ -18083,8 +17980,7 @@ function resolveSqliteVecPath() {
18083
17980
  function loadSqliteVecExtension(database) {
18084
17981
  database.loadExtension(resolveSqliteVecPath());
18085
17982
  }
18086
- //#endregion
18087
- //#region src/store/unplaced-candidate-migration.ts
17983
+ // src/store/unplaced-candidate-migration.ts
18088
17984
  /** @file unplaced-candidate-migration.ts
18089
17985
  * @purpose One-time data move: relocate every non-active memory row into
18090
17986
  * `nodix_unplaced_memory_candidates`. Runs after the drizzle DDL migration and is
@@ -18142,8 +18038,7 @@ function migrateUnplacedCandidates(sqlite) {
18142
18038
  });
18143
18039
  return moved;
18144
18040
  }
18145
- //#endregion
18146
- //#region src/store/connection.ts
18041
+ // src/store/connection.ts
18147
18042
  /** @file connection.ts
18148
18043
  * @purpose Creates and validates SQLite connections used by the memory store.
18149
18044
  * @boundary Filesystem safety, database pragmas, migrations, and runtime loading.
@@ -18336,8 +18231,7 @@ function ensureColumn(database, tableName, columnName, declaration) {
18336
18231
  if (database.prepare(`PRAGMA table_info(${tableName})`).all().some(({ name }) => name === columnName)) return;
18337
18232
  database.exec(`ALTER TABLE ${tableName} ADD COLUMN ${columnName} ${declaration}`);
18338
18233
  }
18339
- //#endregion
18340
- //#region src/store/memory-store-shared.ts
18234
+ // src/store/memory-store-shared.ts
18341
18235
  /** @file memory-store-shared.ts
18342
18236
  * @purpose Implements memory persistence, search, updates, deletion, and statistics.
18343
18237
  * @boundary SQLite schema, embedding vectors, FTS, and metadata invariants.
@@ -18444,8 +18338,7 @@ function withStoreWriteOutcome(entry, outcome) {
18444
18338
  });
18445
18339
  return entry;
18446
18340
  }
18447
- //#endregion
18448
- //#region src/engine/telemetry/memory-telemetry-config.ts
18341
+ // src/engine/telemetry/memory-telemetry-config.ts
18449
18342
  function loadMemoryTelemetryKeySet(options) {
18450
18343
  if (!options.enabled) return {
18451
18344
  enabled: false,
@@ -18469,8 +18362,7 @@ function loadMemoryTelemetryKeySet(options) {
18469
18362
  historic: new Map(options.historicKeys.map((value, index) => [index + 1, value]))
18470
18363
  };
18471
18364
  }
18472
- //#endregion
18473
- //#region src/engine/telemetry/memory-telemetry-metadata.ts
18365
+ // src/engine/telemetry/memory-telemetry-metadata.ts
18474
18366
  const RAW_CONTENT_KEYS = /* @__PURE__ */ new Set([
18475
18367
  "text",
18476
18368
  "content",
@@ -18544,8 +18436,7 @@ function validateMemoryTelemetryMetadata(eventType, metadata) {
18544
18436
  }
18545
18437
  return metadata;
18546
18438
  }
18547
- //#endregion
18548
- //#region src/engine/telemetry/memory-telemetry-receipts.ts
18439
+ // src/engine/telemetry/memory-telemetry-receipts.ts
18549
18440
  const CONTENT_HASH_PATTERN = /^[a-f0-9]{64}$/;
18550
18441
  const TIMESTAMP_MS_PATTERN = /^[0-9]{13}$/;
18551
18442
  const RECEIPT_HMAC_PATTERN = /^[a-f0-9]{64}$/;
@@ -18612,8 +18503,7 @@ function verification(status, receipt) {
18612
18503
  keyVersion: receipt.keyVersion
18613
18504
  };
18614
18505
  }
18615
- //#endregion
18616
- //#region src/engine/telemetry/memory-telemetry-events.ts
18506
+ // src/engine/telemetry/memory-telemetry-events.ts
18617
18507
  const log$12 = createLogger("sno-station-mem:memory-telemetry-events");
18618
18508
  var MemoryTelemetryEventWriter = class {
18619
18509
  sqlite;
@@ -18693,8 +18583,7 @@ var MemoryTelemetryEventWriter = class {
18693
18583
  return this.readLatestReceiptEventIdStatement.get(factId)?.id ?? null;
18694
18584
  }
18695
18585
  };
18696
- //#endregion
18697
- //#region src/store/rem-update-stamp-migration.ts
18586
+ // src/store/rem-update-stamp-migration.ts
18698
18587
  /** @file rem-update-stamp-migration.ts
18699
18588
  * @purpose Hard-cuts legacy job-keyed REM update stamps to source-derived stamps.
18700
18589
  * @boundary Metadata-only startup migration; memory text and facets remain unchanged.
@@ -18741,8 +18630,7 @@ function parseMetadata$3(value) {
18741
18630
  if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) throw new Error("REM candidate metadata must be a JSON object");
18742
18631
  return parsed;
18743
18632
  }
18744
- //#endregion
18745
- //#region src/store/memory-store-base.ts
18633
+ // src/store/memory-store-base.ts
18746
18634
  var TaskLifecycleCommandCollisionError = class extends StorageError {
18747
18635
  projectId;
18748
18636
  commandId;
@@ -19048,8 +18936,7 @@ var MemoryStore = class {
19048
18936
  this.scheduleLegacyChunkBackfill();
19049
18937
  }
19050
18938
  };
19051
- //#endregion
19052
- //#region src/store/memory-store-row-codec.ts
18939
+ // src/store/memory-store-row-codec.ts
19053
18940
  /** @file memory-store-row-codec.ts
19054
18941
  * @purpose Converts rows, metadata, vectors, and chunk persistence payloads.
19055
18942
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -19169,8 +19056,7 @@ Object.assign(MemoryStore.prototype, {
19169
19056
  return row !== null && row !== void 0;
19170
19057
  }
19171
19058
  });
19172
- //#endregion
19173
- //#region src/store/memory-store-backfill.ts
19059
+ // src/store/memory-store-backfill.ts
19174
19060
  /** @file memory-store-backfill.ts
19175
19061
  * @purpose Backfills legacy memories that are missing chunk rows.
19176
19062
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -19273,8 +19159,7 @@ Object.assign(MemoryStore.prototype, {
19273
19159
  });
19274
19160
  }
19275
19161
  });
19276
- //#endregion
19277
- //#region src/store/memory-store-lookup-api.ts
19162
+ // src/store/memory-store-lookup-api.ts
19278
19163
  /** @file memory-store-lookup-api.ts
19279
19164
  * @purpose Reads memories by content hash or identifier.
19280
19165
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -19315,8 +19200,7 @@ Object.assign(MemoryStore.prototype, {
19315
19200
  return row ? this.toEntry(row) : void 0;
19316
19201
  }
19317
19202
  });
19318
- //#endregion
19319
- //#region src/store/memory-store-relation-api.ts
19203
+ // src/store/memory-store-relation-api.ts
19320
19204
  /** @file memory-store-relation-api.ts
19321
19205
  * @purpose Normalizes persisted relation predicates and reads project-scoped relation walks.
19322
19206
  * @boundary Mechanical relation vocabulary and storage reads only; no extraction judgment.
@@ -19343,8 +19227,7 @@ Object.assign(MemoryStore.prototype, { walkMemoryRelations(input) {
19343
19227
  ORDER BY relation.source_card_id, relation.subject, relation.predicate, relation.object
19344
19228
  `).all(input.projectId, input.node).filter((row) => this.isMemoryOnFactSurface(row.sourceCardId));
19345
19229
  } });
19346
- //#endregion
19347
- //#region src/store/memory-store-atomic-extraction-ledger-api.ts
19230
+ // src/store/memory-store-atomic-extraction-ledger-api.ts
19348
19231
  /** @file memory-store-atomic-extraction-ledger-api.ts
19349
19232
  * @purpose Persists atomic extraction chunk state and bounded reprocess repairs.
19350
19233
  * @boundary Serial chunk lifecycle and transaction completion only; no model calls or extraction.
@@ -19603,8 +19486,7 @@ Object.assign(MemoryStore.prototype, {
19603
19486
  }).immediate();
19604
19487
  }
19605
19488
  });
19606
- //#endregion
19607
- //#region src/store/memory-store-suppression-api.ts
19489
+ // src/store/memory-store-suppression-api.ts
19608
19490
  /** @file memory-store-suppression-api.ts
19609
19491
  * @purpose Creates the two project-scoped memory suppression shapes.
19610
19492
  * @boundary Storage mechanics only; memory_forget is the sole product caller.
@@ -19636,13 +19518,11 @@ Object.assign(MemoryStore.prototype, { async createMemorySuppression(input) {
19636
19518
  };
19637
19519
  });
19638
19520
  } });
19639
- //#endregion
19640
- //#region src/store/data-paths.ts
19521
+ // src/store/data-paths.ts
19641
19522
  function getSnoStationMemDataDir() {
19642
19523
  return join(getSnoStationMemStateDir(), "data");
19643
19524
  }
19644
- //#endregion
19645
- //#region config/b-profile-section-registry.json
19525
+ // config/b-profile-section-registry.json
19646
19526
  var b_profile_section_registry_default = {
19647
19527
  schema_version: 3,
19648
19528
  frozen_at: "2026-07-27T09:50:00+00:00",
@@ -21105,8 +20985,7 @@ var b_profile_section_registry_default = {
21105
20985
  section_registry_sha256: "b3da09c82eb9c3892c73ccb0c1623f22dc787a15aaefac7511767b1c010ce1b1",
21106
20986
  source_git_rev: "dfc5e40194c6d8087c1a0c329856e177061ecf43"
21107
20987
  };
21108
- //#endregion
21109
- //#region src/engine/extraction/b-profile-section-registry.ts
20988
+ // src/engine/extraction/b-profile-section-registry.ts
21110
20989
  /** @file b-profile-section-registry.ts
21111
20990
  * @purpose Exposes the bundled B-profile section resource and pure topic normalization.
21112
20991
  * @boundary Matching code consumes registry data; taxonomy strings live in the JSON resource.
@@ -21330,8 +21209,7 @@ function buildActiveTaskProjection(tasks) {
21330
21209
  text: titles.length === 0 ? "Active tasks: none" : `Active tasks:\n${titles.map((title) => `- ${title}`).join("\n")}`
21331
21210
  };
21332
21211
  }
21333
- //#endregion
21334
- //#region src/engine/extraction/b-profile-section-canonicalizer.ts
21212
+ // src/engine/extraction/b-profile-section-canonicalizer.ts
21335
21213
  /** @file b-profile-section-canonicalizer.ts
21336
21214
  * @purpose Canonicalizes the written form of open B-profile section keys.
21337
21215
  * @boundary Pure deterministic transform; no registry lookup, I/O, or rejection.
@@ -21356,8 +21234,7 @@ function canonicalizeProfileSectionName(sectionName) {
21356
21234
  function normalizeProfileSectionForm(sectionName) {
21357
21235
  return sectionName.normalize("NFKC").trim().toLowerCase().replace(/[-_\s]+/g, "_").replace(/^_+|_+$/g, "").replace(/_*\._*/g, ".");
21358
21236
  }
21359
- //#endregion
21360
- //#region src/engine/shared/memory-kind-policy.ts
21237
+ // src/engine/shared/memory-kind-policy.ts
21361
21238
  const ALLOWED_WRITERS = {
21362
21239
  episodic: ["extraction", "offline-family"],
21363
21240
  lesson: ["offline-family"],
@@ -21379,8 +21256,7 @@ function canTrustedWrite(kind) {
21379
21256
  const writers = ALLOWED_WRITERS[kind];
21380
21257
  return writers.includes("extraction") || writers.includes("profile-writer");
21381
21258
  }
21382
- //#endregion
21383
- //#region src/store/memory-store-write-validation.ts
21259
+ // src/store/memory-store-write-validation.ts
21384
21260
  /** @file memory-store-write-validation.ts
21385
21261
  * @purpose Validates and normalizes memory-kind metadata before direct store writes.
21386
21262
  * @boundary Storage write chokepoint only; extraction owns metadata semantics.
@@ -21529,8 +21405,7 @@ function validateStoreWriteMetadata(input, operation, countRecordTokens) {
21529
21405
  throw new StorageError(`${operation}: invalid memory metadata: ${formatCause(error)}`);
21530
21406
  }
21531
21407
  }
21532
- //#endregion
21533
- //#region src/store/atomic-attribute-cardinality.ts
21408
+ // src/store/atomic-attribute-cardinality.ts
21534
21409
  /** @file atomic-attribute-cardinality.ts
21535
21410
  * @purpose Reads atomic attribute cardinality and family rulings from the shipped dictionaries.
21536
21411
  * @boundary Mechanical config lookup only; no storage access or model judgment.
@@ -21551,8 +21426,7 @@ function isOneCardinalityAttribute(attribute) {
21551
21426
  function isKnownAtomicAttribute(attribute) {
21552
21427
  return knownAttributes.has(attribute);
21553
21428
  }
21554
- //#endregion
21555
- //#region src/store/memory-store-atomic-extraction-write-api.ts
21429
+ // src/store/memory-store-atomic-extraction-write-api.ts
21556
21430
  /** @file memory-store-atomic-extraction-write-api.ts
21557
21431
  * @purpose Appends atomic extraction cards, relations, chunks, and ledger completion together.
21558
21432
  * @boundary Dark atomic-v3 storage door only; no model calls, suppression, or cutover activation.
@@ -22193,8 +22067,7 @@ Object.assign(MemoryStore.prototype, { resolveAtomicMemoryEntity(projectId, disp
22193
22067
  }
22194
22068
  };
22195
22069
  } });
22196
- //#endregion
22197
- //#region src/store/memory-store-atomic-time-api.ts
22070
+ // src/store/memory-store-atomic-time-api.ts
22198
22071
  /** @file memory-store-atomic-time-api.ts
22199
22072
  * @purpose Reads active atomic cards through one half-open valid-time predicate.
22200
22073
  * @boundary Project-scoped storage query only.
@@ -22208,8 +22081,7 @@ Object.assign(MemoryStore.prototype, { listAtomicValidAt(projectId, atMs) {
22208
22081
  AND (valid_until IS NULL OR ? < valid_until)
22209
22082
  ORDER BY timestamp DESC, id DESC`).all(projectId, atMs, atMs).map((row) => this.toEntry(row));
22210
22083
  } });
22211
- //#endregion
22212
- //#region src/store/memory-store-unplaced-api.ts
22084
+ // src/store/memory-store-unplaced-api.ts
22213
22085
  /** @file memory-store-unplaced-api.ts
22214
22086
  * @purpose Persists and reads write attempts the extraction path could not place.
22215
22087
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -22239,8 +22111,7 @@ Object.assign(MemoryStore.prototype, {
22239
22111
  }));
22240
22112
  }
22241
22113
  });
22242
- //#endregion
22243
- //#region src/store/memory-store-extraction-timestamp-api.ts
22114
+ // src/store/memory-store-extraction-timestamp-api.ts
22244
22115
  /** @file memory-store-extraction-timestamp-api.ts
22245
22116
  * @purpose Persist the first valid-at-now timestamp for replay-stable extraction ordering.
22246
22117
  * @boundary Synchronous encrypted SQLite transaction keyed by scope and candidate replay identity.
@@ -22272,8 +22143,7 @@ Object.assign(MemoryStore.prototype, { resolveExtractionTimestamp(projectId, rep
22272
22143
  if (!isResolution$1(resolution)) throw new StorageError("Extraction timestamp transaction returned an invalid result");
22273
22144
  return resolution;
22274
22145
  } });
22275
- //#endregion
22276
- //#region src/store/memory-store-task-lifecycle-timestamp-api.ts
22146
+ // src/store/memory-store-task-lifecycle-timestamp-api.ts
22277
22147
  /** @file memory-store-task-lifecycle-timestamp-api.ts
22278
22148
  * @purpose Persists lifecycle effective-time value and source under the final command identity.
22279
22149
  * @boundary Existing extraction timestamp table only; no lifecycle command or task-state writes.
@@ -22407,8 +22277,7 @@ function buildExtractionIdempotencyKey(sessionKey, candidate, trace = candidate.
22407
22277
  payloadFingerprint: buildCandidatePayloadFingerprint(candidate)
22408
22278
  }));
22409
22279
  }
22410
- //#endregion
22411
- //#region src/engine/extraction/task-lifecycle-assertion.ts
22280
+ // src/engine/extraction/task-lifecycle-assertion.ts
22412
22281
  /** @file task-lifecycle-assertion.ts
22413
22282
  * @purpose Admits typed lifecycle assertions and allocates replay-safe command/task identities.
22414
22283
  * @boundary Input contract and command persistence only; no resolver, binding, or task mutation.
@@ -22655,8 +22524,7 @@ function admitTaskLifecycleAssertion(store, input) {
22655
22524
  created: persisted.created
22656
22525
  };
22657
22526
  }
22658
- //#endregion
22659
- //#region src/engine/extraction/task-lifecycle-resolver.ts
22527
+ // src/engine/extraction/task-lifecycle-resolver.ts
22660
22528
  /** @file task-lifecycle-resolver.ts
22661
22529
  * @purpose Resolves one admitted lifecycle assertion against a bounded instance snapshot.
22662
22530
  * @boundary Pure relation judgment only; no model transport, persistence, or task-state mutation.
@@ -22872,8 +22740,7 @@ function resolveTaskLifecycle(input) {
22872
22740
  };
22873
22741
  return resolveJudgment(input.assertion, candidates, parseJudgment(input.judgment), input.judgment.status === "completed" ? input.judgment.candidateSetVersion : void 0);
22874
22742
  }
22875
- //#endregion
22876
- //#region src/store/memory-store-task-lifecycle-api.ts
22743
+ // src/store/memory-store-task-lifecycle-api.ts
22877
22744
  /** @file memory-store-task-lifecycle-api.ts
22878
22745
  * @purpose Atomically persists resolved task lifecycle commands and their dedicated to-do row.
22879
22746
  * @boundary Consumes admitted assertions and resolver output; performs no relation judgment.
@@ -23282,8 +23149,7 @@ Object.assign(MemoryStore.prototype, {
23282
23149
  });
23283
23150
  }
23284
23151
  });
23285
- //#endregion
23286
- //#region src/store/memory-store-todo-api.ts
23152
+ // src/store/memory-store-todo-api.ts
23287
23153
  /** @file memory-store-todo-api.ts
23288
23154
  * @purpose Reads the scoped to-do list for recall.
23289
23155
  * @boundary Prototype-mounted MemoryStore read method; no ranking behavior.
@@ -23307,8 +23173,7 @@ Object.assign(MemoryStore.prototype, { listTodos(input) {
23307
23173
  totalCount: Number(countRow.count)
23308
23174
  };
23309
23175
  } });
23310
- //#endregion
23311
- //#region src/store/memory-store-task-lifecycle-migration-api.ts
23176
+ // src/store/memory-store-task-lifecycle-migration-api.ts
23312
23177
  /** @file memory-store-task-lifecycle-migration-api.ts
23313
23178
  * @purpose Builds and atomically applies deterministic legacy active-task migration manifests.
23314
23179
  * @boundary Explicit one-time migration only; runtime extraction never calls this module.
@@ -23656,8 +23521,7 @@ Object.assign(MemoryStore.prototype, { async applyTaskLifecycleMigration(manifes
23656
23521
  };
23657
23522
  });
23658
23523
  } });
23659
- //#endregion
23660
- //#region src/store/content-sanitizer-bridge.ts
23524
+ // src/store/content-sanitizer-bridge.ts
23661
23525
  /** @file content-sanitizer-bridge.ts
23662
23526
  * @purpose Adapts sno-station-mem storage inputs to the shared content sanitizer package.
23663
23527
  * @boundary Thin storage adapter only; sanitizer policy lives in @snoai/content-sanitizer.
@@ -23774,8 +23638,7 @@ function sanitizeUpdateChanges(changes) {
23774
23638
  ...changes.metadata !== void 0 ? { metadata: sanitizeMemoryMetadataString(changes.metadata) ?? changes.metadata } : {}
23775
23639
  };
23776
23640
  }
23777
- //#endregion
23778
- //#region src/store/memory-store-persistence-api.ts
23641
+ // src/store/memory-store-persistence-api.ts
23779
23642
  /** @file memory-store-persistence-api.ts
23780
23643
  * @purpose Stores new memories in single-entry, bulk, and atomic-supersede write paths.
23781
23644
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -24742,8 +24605,7 @@ function readActiveFactGuard(metadata) {
24742
24605
  return;
24743
24606
  }
24744
24607
  }
24745
- //#endregion
24746
- //#region src/store/memory-store-correct-api.ts
24608
+ // src/store/memory-store-correct-api.ts
24747
24609
  /** Fresh correction successors and closure share one SQLite transaction. */
24748
24610
  function correctionTarget(store, input) {
24749
24611
  return store.sqlite.prepare(`SELECT * FROM nodix_memories
@@ -24905,8 +24767,7 @@ Object.assign(MemoryStore.prototype, { async correct(input) {
24905
24767
  }).immediate();
24906
24768
  });
24907
24769
  } });
24908
- //#endregion
24909
- //#region src/store/memory-store-update-api.ts
24770
+ // src/store/memory-store-update-api.ts
24910
24771
  /** @file memory-store-update-api.ts
24911
24772
  * @purpose Applies mutable field updates and chunk rewrites for existing memories.
24912
24773
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -25237,8 +25098,7 @@ Object.assign(MemoryStore.prototype, {
25237
25098
  });
25238
25099
  }
25239
25100
  });
25240
- //#endregion
25241
- //#region src/store/memory-store-rem-api.ts
25101
+ // src/store/memory-store-rem-api.ts
25242
25102
  const log$8 = createLogger("sno-station-mem:rem-write");
25243
25103
  Object.assign(MemoryStore.prototype, { async applyRemTextVersion(input) {
25244
25104
  if (input.reason.trim().length === 0) throw new Error("mutation reason is required");
@@ -25410,8 +25270,7 @@ function parseMetadata$2(value) {
25410
25270
  if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) throw new Error("memory metadata must be a JSON object");
25411
25271
  return parsed;
25412
25272
  }
25413
- //#endregion
25414
- //#region src/store/memory-store-import-api.ts
25273
+ // src/store/memory-store-import-api.ts
25415
25274
  /** @file memory-store-import-api.ts
25416
25275
  * @purpose Imports existing memory entries and checks identifier presence.
25417
25276
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -25503,8 +25362,7 @@ Object.assign(MemoryStore.prototype, {
25503
25362
  return this.sqlite.prepare("SELECT 1 as has_value FROM nodix_memories WHERE id = ? LIMIT 1").get(id)?.has_value === 1;
25504
25363
  }
25505
25364
  });
25506
- //#endregion
25507
- //#region src/store/memory-store-chunk-search.ts
25365
+ // src/store/memory-store-chunk-search.ts
25508
25366
  /** @file memory-store-chunk-search.ts
25509
25367
  * @purpose Runs semantic and keyword search directly over chunk rows.
25510
25368
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -25723,8 +25581,7 @@ Object.assign(MemoryStore.prototype, {
25723
25581
  }
25724
25582
  }
25725
25583
  });
25726
- //#endregion
25727
- //#region src/store/memory-store-search-api.ts
25584
+ // src/store/memory-store-search-api.ts
25728
25585
  /** @file memory-store-search-api.ts
25729
25586
  * @purpose Aggregates chunk matches into memory-level search results.
25730
25587
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -25989,8 +25846,7 @@ Object.assign(MemoryStore.prototype, {
25989
25846
  }
25990
25847
  }
25991
25848
  });
25992
- //#endregion
25993
- //#region src/store/memory-store-vector-api.ts
25849
+ // src/store/memory-store-vector-api.ts
25994
25850
  /** @file memory-store-vector-api.ts
25995
25851
  * @purpose Provides chunk vector reads used by retrieval scoring and reranking.
25996
25852
  * @boundary Prototype-mounted MemoryStore methods; no compaction or maintenance ownership.
@@ -26006,8 +25862,7 @@ Object.assign(MemoryStore.prototype, { getVectorsByIds(ids) {
26006
25862
  }
26007
25863
  return out;
26008
25864
  } });
26009
- //#endregion
26010
- //#region src/store/memory-store-read-api.ts
25865
+ // src/store/memory-store-read-api.ts
26011
25866
  /** @file memory-store-read-api.ts
26012
25867
  * @purpose Reads chunks, memory lists, and aggregate store statistics.
26013
25868
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -26136,8 +25991,7 @@ Object.assign(MemoryStore.prototype, {
26136
25991
  };
26137
25992
  }
26138
25993
  });
26139
- //#endregion
26140
- //#region src/store/memory-store-admin-api.ts
25994
+ // src/store/memory-store-admin-api.ts
26141
25995
  /** @file memory-store-admin-api.ts
26142
25996
  * @purpose Deletes memory rows and closes underlying SQLite resources.
26143
25997
  * @boundary Prototype-mounted MemoryStore methods; no constructor state ownership.
@@ -26348,8 +26202,7 @@ Object.assign(MemoryStore.prototype, {
26348
26202
  }
26349
26203
  }
26350
26204
  });
26351
- //#endregion
26352
- //#region src/engine/extraction/embedding-provider-factory.ts
26205
+ // src/engine/extraction/embedding-provider-factory.ts
26353
26206
  function resolveEmbeddingCacheDir(config) {
26354
26207
  return config.cacheDir || LOCAL_EMBEDDING_CACHE_DIR_DEFAULT;
26355
26208
  }
@@ -26371,8 +26224,7 @@ function buildProvider(config) {
26371
26224
  ...config.pooling !== void 0 ? { pooling: config.pooling } : {}
26372
26225
  });
26373
26226
  }
26374
- //#endregion
26375
- //#region src/engine/extraction/embedding-vector-aggregation.ts
26227
+ // src/engine/extraction/embedding-vector-aggregation.ts
26376
26228
  /**
26377
26229
  * Compute L2-normalized weighted average of Float32Array vectors.
26378
26230
  * Weights are typically chunk char lengths so longer chunks contribute more.
@@ -26397,8 +26249,7 @@ function weightedAverageFloat32(vectors, weights, dim) {
26397
26249
  if (norm > 0) for (let j = 0; j < dim; j++) acc[j] = (acc[j] ?? 0) / norm;
26398
26250
  return Float32Array.from(acc);
26399
26251
  }
26400
- //#endregion
26401
- //#region src/engine/shared/token-bound.ts
26252
+ // src/engine/shared/token-bound.ts
26402
26253
  /** @file token-bound.ts
26403
26254
  * @purpose Cuts text to a token budget under any monotonic token counter.
26404
26255
  * @boundary Pure text function; the caller supplies the counter.
@@ -26425,8 +26276,7 @@ function truncateToTokens(text, maxTokens, countTokens) {
26425
26276
  }
26426
26277
  return codePoints.slice(0, low).join("").trimEnd();
26427
26278
  }
26428
- //#endregion
26429
- //#region src/engine/extraction/embedding-provider-client.ts
26279
+ // src/engine/extraction/embedding-provider-client.ts
26430
26280
  /** @file embedding-provider-client.ts
26431
26281
  * @purpose Adapts embedding providers to the plugin retrieval and storage contract.
26432
26282
  * @boundary Local ONNX embeddings, chunk sizing, and vector dimensions.
@@ -26654,8 +26504,7 @@ var Embedder = class {
26654
26504
  function createEmbedder(config, stateDir) {
26655
26505
  return new Embedder(config, stateDir);
26656
26506
  }
26657
- //#endregion
26658
- //#region src/engine/eval/trace.ts
26507
+ // src/engine/eval/trace.ts
26659
26508
  /** @file trace.ts
26660
26509
  * @purpose Emits per-QA retrieval traces and the active config snapshot for eval runs.
26661
26510
  * @boundary Filesystem (JSONL/JSON write) and config constants surface.
@@ -26757,8 +26606,7 @@ function computeConfigHash() {
26757
26606
  function sha256Hex(input) {
26758
26607
  return createHash("sha256").update(input).digest("hex");
26759
26608
  }
26760
- //#endregion
26761
- //#region src/engine/retrieval/access-tracker.ts
26609
+ // src/engine/retrieval/access-tracker.ts
26762
26610
  /** @file access-tracker.ts
26763
26611
  * @purpose Tracks memory access signals that feed recency, ranking, and decay decisions.
26764
26612
  * @boundary Memory store metadata and retrieval result identifiers.
@@ -27046,8 +26894,7 @@ var AccessTracker = class {
27046
26894
  }
27047
26895
  }
27048
26896
  };
27049
- //#endregion
27050
- //#region src/engine/retrieval/retrieval-trace.ts
26897
+ // src/engine/retrieval/retrieval-trace.ts
27051
26898
  var StageLifecycle = class StageLifecycle {
27052
26899
  name;
27053
26900
  inputOrder;
@@ -27216,8 +27063,7 @@ var TraceCollector = class {
27216
27063
  this.activeStage = null;
27217
27064
  }
27218
27065
  };
27219
- //#endregion
27220
- //#region src/engine/retrieval/retrieval-config.ts
27066
+ // src/engine/retrieval/retrieval-config.ts
27221
27067
  /** @file retrieval-config.ts
27222
27068
  * @purpose Defines retriever runtime configuration and request context contracts.
27223
27069
  * @boundary Types and defaults only; no ranking execution.
@@ -27268,8 +27114,7 @@ const DEFAULT_RETRIEVAL_CONFIG = {
27268
27114
  mmrLambda: MMR_LAMBDA,
27269
27115
  recallLifecycle: DEFAULT_RECALL_LIFECYCLE
27270
27116
  };
27271
- //#endregion
27272
- //#region src/engine/retrieval/retriever-core.ts
27117
+ // src/engine/retrieval/retriever-core.ts
27273
27118
  var MemoryRetriever = class {
27274
27119
  store;
27275
27120
  embedder;
@@ -27333,8 +27178,7 @@ var MemoryRetriever = class {
27333
27178
  function createRetriever(store, embedder, logger, config = DEFAULT_RETRIEVAL_CONFIG) {
27334
27179
  return new MemoryRetriever(store, embedder, logger, config);
27335
27180
  }
27336
- //#endregion
27337
- //#region src/engine/retrieval/retriever-query-tools.ts
27181
+ // src/engine/retrieval/retriever-query-tools.ts
27338
27182
  Object.assign(MemoryRetriever.prototype, {
27339
27183
  throwIfAborted(context) {
27340
27184
  if (!context.signal?.aborted) return;
@@ -27353,8 +27197,7 @@ Object.assign(MemoryRetriever.prototype, {
27353
27197
  return isMemoryExpired(parseInsightMetadata(entry.metadata, entry));
27354
27198
  }
27355
27199
  });
27356
- //#endregion
27357
- //#region src/engine/retrieval/retrieval-scoring-utils.ts
27200
+ // src/engine/retrieval/retrieval-scoring-utils.ts
27358
27201
  const log$4 = createLogger$1("sno-station-mem:retriever");
27359
27202
  function dotProduct(a, b) {
27360
27203
  let sum = 0;
@@ -27379,8 +27222,7 @@ function collectParallelStage(results, key, fallbackIds) {
27379
27222
  omitted
27380
27223
  };
27381
27224
  }
27382
- //#endregion
27383
- //#region src/engine/retrieval/retriever-search-modes.ts
27225
+ // src/engine/retrieval/retriever-search-modes.ts
27384
27226
  /**
27385
27227
  * Ordinary long prose is chunked and averaged by the embedder. Text it cannot cut under the model's limit (a pasted log or hash
27386
27228
  * dump) is rejected, and would fail the whole recall, so only then is the query cut to the limit; keyword search still sees all of it.
@@ -27626,8 +27468,7 @@ Object.assign(MemoryRetriever.prototype, {
27626
27468
  });
27627
27469
  }
27628
27470
  });
27629
- //#endregion
27630
- //#region src/engine/retrieval/retriever-rerank.ts
27471
+ // src/engine/retrieval/retriever-rerank.ts
27631
27472
  /** @file retriever-rerank.ts
27632
27473
  * @purpose Runs local cosine ordering and local model reranking.
27633
27474
  * @boundary Prototype-mounted MemoryRetriever methods; no constructor state ownership.
@@ -27769,8 +27610,7 @@ Object.assign(MemoryRetriever.prototype, {
27769
27610
  };
27770
27611
  }
27771
27612
  });
27772
- //#endregion
27773
- //#region src/engine/operations/selective-forgetting-scorer.ts
27613
+ // src/engine/operations/selective-forgetting-scorer.ts
27774
27614
  /** @file selective-forgetting-scorer.ts
27775
27615
  * @purpose Computes Selective Forgetting scores from age, access history, and intrinsic value.
27776
27616
  * @boundary Access history, importance, timestamps, and retrieval scoring inputs.
@@ -27878,8 +27718,7 @@ function createRetentionScorer(config = DEFAULT_DECAY_CONFIG) {
27878
27718
  }
27879
27719
  };
27880
27720
  }
27881
- //#endregion
27882
- //#region src/engine/retrieval/retriever-scoring-pipeline.ts
27721
+ // src/engine/retrieval/retriever-scoring-pipeline.ts
27883
27722
  /** @file retriever-scoring-pipeline.ts
27884
27723
  * @purpose Applies post-retrieval scoring, decay, noise, and diversity transforms.
27885
27724
  * @boundary Prototype-mounted MemoryRetriever methods; no constructor state ownership.
@@ -28140,8 +27979,7 @@ Object.assign(MemoryRetriever.prototype, {
28140
27979
  });
28141
27980
  }
28142
27981
  });
28143
- //#endregion
28144
- //#region src/engine/retrieval/retriever-execution.ts
27982
+ // src/engine/retrieval/retriever-execution.ts
28145
27983
  /** @file retriever-execution.ts
28146
27984
  * @purpose Runs retrieval entrypoints, traces, and stats recording.
28147
27985
  * @boundary Prototype-mounted MemoryRetriever methods; no constructor state ownership.
@@ -28403,8 +28241,7 @@ Object.assign(MemoryRetriever.prototype, {
28403
28241
  }
28404
28242
  }
28405
28243
  });
28406
- //#endregion
28407
- //#region src/sidecar/rem-job-store.ts
28244
+ // src/sidecar/rem-job-store.ts
28408
28245
  /** @file rem-job-store.ts
28409
28246
  * @purpose Persists append-only REM job state transitions.
28410
28247
  * @boundary Durable local JSONL journal used by the standalone REM sidecar.
@@ -28778,8 +28615,7 @@ async function syncDirectory$1(directory) {
28778
28615
  await handle.close();
28779
28616
  }
28780
28617
  }
28781
- //#endregion
28782
- //#region src/sidecar/rem-entry-foundations.ts
28618
+ // src/sidecar/rem-entry-foundations.ts
28783
28619
  const sha256Schema = z.string().regex(/^[0-9a-f]{64}$/u);
28784
28620
  const finiteRecordSchema = z.record(z.string(), z.number().finite()).refine((value) => Object.keys(value).length > 0);
28785
28621
  const commonArtifactShape = {
@@ -28855,8 +28691,7 @@ z.object({
28855
28691
  waivedBy: z.string().min(1),
28856
28692
  waiverReason: z.string().min(1)
28857
28693
  }).strict();
28858
- //#endregion
28859
- //#region src/sidecar/rem-update-judgment-skill.ts
28694
+ // src/sidecar/rem-update-judgment-skill.ts
28860
28695
  /** @file rem-update-judgment-skill.ts
28861
28696
  * @purpose Loads the model-readable REM update judgment method shipped with the plugin.
28862
28697
  * @boundary Package-relative read of one trusted bundled skill.
@@ -28892,8 +28727,7 @@ const REM_UPDATE_JUDGMENT_SKILL = {
28892
28727
  verification: readSection("Rewrite Verification"),
28893
28728
  clauseCarry: readSection("Clause Carry")
28894
28729
  };
28895
- //#endregion
28896
- //#region src/store/rem-sqlite-adapter.ts
28730
+ // src/store/rem-sqlite-adapter.ts
28897
28731
  /** @file rem-sqlite-adapter.ts
28898
28732
  * @purpose Binds capability-safe REM mutation and recovery ports to encrypted sno-station-mem SQLite.
28899
28733
  * @boundary Additive REM tables and recoverable memory-row updates; no deletion or compaction.
@@ -29581,8 +29415,7 @@ function hashText(value) {
29581
29415
  function hashMemoryRow(row) {
29582
29416
  return hashRemMemoryRow(row);
29583
29417
  }
29584
- //#endregion
29585
- //#region src/sidecar/rem-batch-executor.ts
29418
+ // src/sidecar/rem-batch-executor.ts
29586
29419
  /** @file rem-batch-executor.ts
29587
29420
  * @purpose Runs the production REM scan, judgments, and recoverable mutations for one scope.
29588
29421
  * @boundary One profile's encrypted SQLite database, Sno GPU judgments, and durable REM ledgers.
@@ -32033,8 +31866,7 @@ function sha256(value) {
32033
31866
  function compareTuple(left, right) {
32034
31867
  return JSON.stringify(left).localeCompare(JSON.stringify(right));
32035
31868
  }
32036
- //#endregion
32037
- //#region src/sidecar/rem-trigger-state.ts
31869
+ // src/sidecar/rem-trigger-state.ts
32038
31870
  /** @file rem-trigger-state.ts
32039
31871
  * @purpose Persists the automatic REM scheduler's strict per-scope state.
32040
31872
  * @boundary One atomically replaced JSON file under the sno-station-mem state directory.
@@ -32789,5 +32621,4 @@ function isNodeError(error) {
32789
32621
  function errorMessage(error) {
32790
32622
  return error instanceof Error ? error.message : String(error);
32791
32623
  }
32792
- //#endregion
32793
32624
  export { renderAdapterAChatPrompt as $, MEMORY_CATEGORIES as $t, journalAtomicArrivalRetirementRefusal as A, getAuditPath as At, StaleSupersedeTargetError as B, debugContentPreview as Bt, buildTaskLifecycleCommandClaim as C, withMemoryOperation as Cn, withProviderResponses as Ct, normalizeEntityName as D, appendAuditEntryStrict as Dt, listAtomicMemoryEntityCandidates as E, appendAuditEntry as Et, normalizeTopicToSectionName as F, CODING_SKIN_LEDGER_MAX_CHARS as Ft, loadSqliteVecExtension as G, redactSecrets as Gt, validateMemoryTelemetryMetadata as H, stripHtmlTags as Ht, getSnoStationMemDataDir as I, CODING_SKIN_SESSION_QUERY as It, adapterAViewFromRecord as J, stringifyInsightMetadata as Jt, REM_BUILT_OPERATION_TYPES as K, buildInsightMetadata as Kt, AtomicExtractionCompletedElsewhere as L, HOST_MODEL_DEADLINE_HEADER as Lt, recordTokenCounter as M, runWithMemoryAuditSync as Mt, canExtractorWrite as N, runWithMutationAttempt as Nt, recordAtomicEntityIdentityJournal as O, compactAuditLog as Ot, canonicalizeProfileSectionName as P, readJsonlLines as Pt, prospectiveProfileView as Q, AGGREGATION_OPERATIONS as Qt, normalizeMemoryRelationPredicate as R, clamp01 as Rt, admitTaskLifecycleAssertion as S, memoryOperationSignal as Sn, isTerminalLlmFailure as St, resolveHookAgentId as T, isTerminalLlmFailure$1 as Tt, randomUUID$1 as U, stripRoleLabelPrefix as Ut, TaskLifecycleStaleResolutionError as V, stableHash as Vt, readChunkVecTableState as W, truncateGraphemes as Wt, orderAdapterAPair as X, parseIsoDateTimeMs as Xt, isAdapterAVerdictReply as Y, normalizeIsoDateTimeString as Yt, parseAdapterAChatVerdict as Z, deriveFactKey as Zt, acceptsTaskLifecycleJudgment as _, initSqliteRuntime as _n, createScopePolicy as _t, enumerateRemCandidateScopes as a, atomicExtractionSkillReference as an, resolveMemoryDate as at, resolveTaskLifecycle as b, checkMemoryOperation as bn, ModelCallRefusedError as bt, runRemProductionOrderedWave as c, state_vocabulary_default as cn, buildIndexedText as ct, RemJobStore as d, calendarInstructionSchema as dn, ALL_RESOURCES as dt, normalizeCategory as en, renderAdapterAPrompt as et, parseRemJobStats as f, isCalendarLabel as fn, RESOURCES_BY_LOCALE as ft, Embedder as g, isMemoryTelemetryEventType as gn, MemoryScopePolicy as gt, AccessTracker as h, MEMORY_TELEMETRY_DELETE_REASONS as hn, StorageError as ht, createRemModelStageResponsePort as i, ATOMIC_EXTRACTION_SKILL_HASH as in, serializeIntervalMetadata as it, readAtomicArrivalRetirementCandidateSet as j, runWithMemoryAudit as jt, closeAtomicArrivalRetirementTargets as k, currentMutationAttemptId as kt, runWithCanonicalStoreWriteMutex as l, relations as ln, stripEnvelopeMetadata as lt, DEFAULT_RETRIEVAL_CONFIG as m, attribute_dictionary_default as mn, SnoStationMemError as mt, remNeedsHost as n, resolveLlmRoute as nn, readMemorySourceOrderOrOldest as nt, readCandidates as o, modelReplyJsonCandidates as on, unresolvedMemoryDate as ot, MemoryRetriever as p, sessionZoneCarriedBy as pn, RetrievalError as pt, parseRemOperationType as q, parseInsightMetadata as qt, buildRemReplaceCandidateQueue as r, ATOMIC_EXTRACTION_SKILL as rn, parseSessionTimestamp as rt, runRemBatchJob as s, readModelReplyJson as sn, boundSectionContent as st, evaluateRemAutomaticTriggers as t, pickLlmRoutingConfig as tn, compareMemorySourceOrder as tt, selectRemUpdateRelationCandidates as u, calculateCalendarTime as un, normalizeAmbientLearningText as ut, buildTaskLifecycleCandidateSet as v, openSqliteDatabase as vn, parseAgentIdFromSessionKey$1 as vt, resolveTaskLifecycleEffectiveTime as w, forwardObserveLedgerUntilIdle as wn, classifyLlmFailure as wt, taskLifecycleCandidateSetVersion as x, memoryFileWrite as xn, createLlmClient as xt, findUniqueActiveTaskByDescription as y, openSqliteDatabaseReadonly as yn, LlmClientTerminalError as yt, MemoryStore as z, clampInt as zt };