@snoai/memory 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/LICENSE +176 -0
  2. package/README.md +7 -2
  3. package/config/b-profile-section-registry.json +118 -0
  4. package/config/llm/compiled/2026-05-19T230932Z/manifest.json +25 -0
  5. package/config/llm/compiled/2026-05-19T230932Z/registry-root.json +67 -0
  6. package/config/llm/compiled/2026-05-19T230932Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
  7. package/config/llm/compiled/2026-05-19T230932Z/resolved/mem_claw/openrouter_auto.json +5 -0
  8. package/config/llm/compiled/2026-05-19T230932Z/resolved/mem_claw/sno_ai_extract.json +5 -0
  9. package/config/llm/compiled/2026-05-19T230932Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
  10. package/config/llm/compiled/2026-05-19T230932Z/source/mem_claw/openrouter_auto.mda +24 -0
  11. package/config/llm/compiled/2026-05-19T230932Z/source/mem_claw/sno_ai_extract.mda +24 -0
  12. package/config/llm/compiled/2026-07-21T001311Z/manifest.json +43 -0
  13. package/config/llm/compiled/2026-07-21T001311Z/registry-root.json +97 -0
  14. package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
  15. package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/openrouter_auto.json +5 -0
  16. package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_ai_extract.json +5 -0
  17. package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_conflict_verdict.json +10 -0
  18. package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_extract_chat.json +10 -0
  19. package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_extract_profile.json +10 -0
  20. package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
  21. package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/openrouter_auto.mda +24 -0
  22. package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_ai_extract.mda +24 -0
  23. package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_conflict_verdict.mda +27 -0
  24. package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_extract_chat.mda +27 -0
  25. package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_extract_profile.mda +27 -0
  26. package/config/llm/compiled/2026-08-29T060335Z/manifest.json +43 -0
  27. package/config/llm/compiled/2026-08-29T060335Z/registry-root.json +97 -0
  28. package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
  29. package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/openrouter_auto.json +5 -0
  30. package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_ai_extract.json +5 -0
  31. package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_conflict_verdict.json +10 -0
  32. package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_extract_chat.json +10 -0
  33. package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_extract_profile.json +10 -0
  34. package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
  35. package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/openrouter_auto.mda +24 -0
  36. package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_ai_extract.mda +24 -0
  37. package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_conflict_verdict.mda +27 -0
  38. package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_extract_chat.mda +27 -0
  39. package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_extract_profile.mda +27 -0
  40. package/config/llm/compiled/2026-09-04T004828Z/manifest.json +43 -0
  41. package/config/llm/compiled/2026-09-04T004828Z/registry-root.json +97 -0
  42. package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
  43. package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/openrouter_auto.json +5 -0
  44. package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_ai_extract.json +5 -0
  45. package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_conflict_verdict.json +10 -0
  46. package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_extract_chat.json +10 -0
  47. package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_extract_profile.json +10 -0
  48. package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
  49. package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/openrouter_auto.mda +24 -0
  50. package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_ai_extract.mda +24 -0
  51. package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_conflict_verdict.mda +27 -0
  52. package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_extract_chat.mda +27 -0
  53. package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_extract_profile.mda +27 -0
  54. package/config/llm/current.json +4 -0
  55. package/config/llm/source/mem_claw/openai_gpt_5_nano.mda +24 -0
  56. package/config/llm/source/mem_claw/openrouter_auto.mda +24 -0
  57. package/config/llm/source/mem_claw/sno_ai_extract.mda +24 -0
  58. package/config/llm/source/mem_claw/sno_conflict_verdict.mda +27 -0
  59. package/config/llm/source/mem_claw/sno_extract_chat.mda +27 -0
  60. package/config/llm/source/mem_claw/sno_extract_profile.mda +27 -0
  61. package/config/llm.trust.json +37 -0
  62. package/dist/_types-CUKHSRkS.d.ts +103 -0
  63. package/dist/access-tracker-CSc21GtV.d.ts +110 -0
  64. package/dist/adapter-DMEmCTKo.d.ts +69 -0
  65. package/dist/adapter-XaRHZWZ2.js +333 -0
  66. package/dist/agent-llm-port-5oXgBpzJ.d.ts +53 -0
  67. package/dist/all-resources-BQK2ugjB.js +6379 -0
  68. package/dist/all-resources-Dij6l5h0.d.ts +18 -0
  69. package/dist/ambient-learning-text-normalizer-CxjATmMp.js +170 -0
  70. package/dist/ambient-learning-text-normalizer-_fH3LeuK.d.ts +10 -0
  71. package/dist/atomic-extraction-reply-BJ9XV_9s.js +863 -0
  72. package/dist/atomic-extraction-skill-CcXmuCqL.js +56 -0
  73. package/dist/atomic-memory-extraction-BpOUWPJM.d.ts +327 -0
  74. package/dist/atomic-memory-extraction-sdNf1-B1.js +3605 -0
  75. package/dist/b-profile-section-dictionary-provider-BHkoNqgk.js +1812 -0
  76. package/dist/b-profile-section-dictionary-provider-BxbksLj3.d.ts +62 -0
  77. package/dist/best-effort-BPZSzKk0.d.ts +9 -0
  78. package/dist/calendar-instruction-CzqZbAPG.js +194 -0
  79. package/dist/capture-policy-detector-CHz5GOPA.d.ts +53 -0
  80. package/dist/capture-policy-detector-DaMfy9CZ.js +357 -0
  81. package/dist/classifier-C96uH9OF.d.ts +272 -0
  82. package/dist/client.d.ts +34 -0
  83. package/dist/client.js +305 -0
  84. package/dist/coding-skin.d.ts +51 -0
  85. package/dist/coding-skin.js +55 -0
  86. package/dist/config-tSrvLXgV.js +2577 -0
  87. package/dist/connection-DAbzki8K.d.ts +391 -0
  88. package/dist/connection-DliCOBB2.js +297 -0
  89. package/dist/daily-log-generator-CH_KuWHs.js +469 -0
  90. package/dist/daily-log-generator-CsQPHl4A.d.ts +73 -0
  91. package/dist/daily-spend-estimator-DiwzBlo1.d.ts +8 -0
  92. package/dist/data-bootstrap-CYniFp8b.js +172 -0
  93. package/dist/data-bootstrap-CcJUwkqf.d.ts +30 -0
  94. package/dist/data-paths-C7sNdqvP.d.ts +22 -0
  95. package/dist/derived-suppression-cache-C7bGARc0.d.ts +36 -0
  96. package/dist/diagnostic-encoder.d.ts +6 -0
  97. package/dist/diagnostic-encoder.js +29 -0
  98. package/dist/embedding-provider-client-Q_hJonK9.js +294 -0
  99. package/dist/embedding-provider-client-vynZMuit.d.ts +94 -0
  100. package/dist/entry-metadata-parser-BIVSMCIk.js +20 -0
  101. package/dist/error-D-wb-rZw.js +23 -0
  102. package/dist/error-signals-D8_3vYu4.d.ts +28 -0
  103. package/dist/error-signals-lMH2uAdV.js +134 -0
  104. package/dist/errors-CeVRxf9V.d.ts +49 -0
  105. package/dist/extraction-text-sanitizer-B_AhIecT.d.ts +32 -0
  106. package/dist/i18n-text-DbD6Qify.d.ts +13 -0
  107. package/dist/index-BsMap4It.d.ts +650 -0
  108. package/dist/index-DL8AVj0Z.d.ts +571 -0
  109. package/dist/index-DQ7VL6d3.d.ts +350 -0
  110. package/dist/index.d.ts +65 -0
  111. package/dist/index.js +1201 -0
  112. package/dist/intent-analyzer-B5XVrWwe.d.ts +28 -0
  113. package/dist/internal/config/index.d.ts +2 -0
  114. package/dist/internal/config/index.js +581 -0
  115. package/dist/internal/config/plugin-config-schema.d.ts +2 -0
  116. package/dist/internal/config/plugin-config-schema.js +2 -0
  117. package/dist/internal/config/product-mode.d.ts +2 -0
  118. package/dist/internal/config/product-mode.js +36 -0
  119. package/dist/internal/config/settings.d.ts +2 -0
  120. package/dist/internal/config/settings.js +265 -0
  121. package/dist/internal/config/skill-categories.d.ts +4 -0
  122. package/dist/internal/config/skill-categories.js +68 -0
  123. package/dist/internal/config/skin-defaults.d.ts +6 -0
  124. package/dist/internal/config/skin-defaults.js +6 -0
  125. package/dist/internal/contract/discovery.d.ts +10 -0
  126. package/dist/internal/contract/discovery.js +53 -0
  127. package/dist/internal/contract/profile.d.ts +2 -0
  128. package/dist/internal/contract/profile.js +44 -0
  129. package/dist/internal/contract/routes.d.ts +2 -0
  130. package/dist/internal/contract/routes.js +61 -0
  131. package/dist/internal/engine/bindings/memory-cli-shared.d.ts +47 -0
  132. package/dist/internal/engine/bindings/memory-cli-shared.js +84 -0
  133. package/dist/internal/engine/bindings/memory-forget-tool.d.ts +5 -0
  134. package/dist/internal/engine/bindings/memory-forget-tool.js +66 -0
  135. package/dist/internal/engine/bindings/memory-list-tool.d.ts +5 -0
  136. package/dist/internal/engine/bindings/memory-list-tool.js +57 -0
  137. package/dist/internal/engine/bindings/memory-recall-tool.d.ts +10 -0
  138. package/dist/internal/engine/bindings/memory-recall-tool.js +283 -0
  139. package/dist/internal/engine/bindings/memory-reflection-resolve-tool.d.ts +5 -0
  140. package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +150 -0
  141. package/dist/internal/engine/bindings/memory-stats-tool.d.ts +5 -0
  142. package/dist/internal/engine/bindings/memory-stats-tool.js +43 -0
  143. package/dist/internal/engine/bindings/memory-store-tool.d.ts +5 -0
  144. package/dist/internal/engine/bindings/memory-store-tool.js +165 -0
  145. package/dist/internal/engine/bindings/memory-tool-access.d.ts +16 -0
  146. package/dist/internal/engine/bindings/memory-tool-access.js +46 -0
  147. package/dist/internal/engine/bindings/memory-tool-formatting.d.ts +62 -0
  148. package/dist/internal/engine/bindings/memory-tool-formatting.js +106 -0
  149. package/dist/internal/engine/bindings/memory-tool-results.d.ts +8 -0
  150. package/dist/internal/engine/bindings/memory-tool-results.js +41 -0
  151. package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +109 -0
  152. package/dist/internal/engine/bindings/memory-tool-schemas.js +75 -0
  153. package/dist/internal/engine/bindings/memory-update-tool.d.ts +5 -0
  154. package/dist/internal/engine/bindings/memory-update-tool.js +127 -0
  155. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +14 -0
  156. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +248 -0
  157. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +12 -0
  158. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +324 -0
  159. package/dist/internal/engine/bindings/sno-station-mem-hook-types.d.ts +56 -0
  160. package/dist/internal/engine/bindings/sno-station-mem-hook-types.js +1 -0
  161. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +14 -0
  162. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +119 -0
  163. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.d.ts +52 -0
  164. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +145 -0
  165. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +10 -0
  166. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.js +9 -0
  167. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +37 -0
  168. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.js +105 -0
  169. package/dist/internal/engine/bindings/sno-station-mem-session-state.d.ts +10 -0
  170. package/dist/internal/engine/bindings/sno-station-mem-session-state.js +27 -0
  171. package/dist/internal/engine/eval/trace.d.ts +2 -0
  172. package/dist/internal/engine/eval/trace.js +151 -0
  173. package/dist/internal/engine/extraction/ambient-learning-text-normalizer.d.ts +2 -0
  174. package/dist/internal/engine/extraction/ambient-learning-text-normalizer.js +2 -0
  175. package/dist/internal/engine/extraction/atomic-memory-extraction.d.ts +2 -0
  176. package/dist/internal/engine/extraction/atomic-memory-extraction.js +2 -0
  177. package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.d.ts +2 -0
  178. package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.js +2 -0
  179. package/dist/internal/engine/extraction/b-profile-section-rekey.d.ts +49 -0
  180. package/dist/internal/engine/extraction/b-profile-section-rekey.js +730 -0
  181. package/dist/internal/engine/extraction/capture-policy-detector.d.ts +2 -0
  182. package/dist/internal/engine/extraction/capture-policy-detector.js +2 -0
  183. package/dist/internal/engine/extraction/embedding-provider-client.d.ts +2 -0
  184. package/dist/internal/engine/extraction/embedding-provider-client.js +2 -0
  185. package/dist/internal/engine/extraction/extraction-text-sanitizer.d.ts +2 -0
  186. package/dist/internal/engine/extraction/extraction-text-sanitizer.js +114 -0
  187. package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +3 -0
  188. package/dist/internal/engine/extraction/memory-metadata-codec.js +2 -0
  189. package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +2 -0
  190. package/dist/internal/engine/extraction/memory-temporality-classifier.js +2 -0
  191. package/dist/internal/engine/i18n/all-resources.d.ts +2 -0
  192. package/dist/internal/engine/i18n/all-resources.js +2 -0
  193. package/dist/internal/engine/i18n/locales.d.ts +2 -0
  194. package/dist/internal/engine/i18n/locales.js +19 -0
  195. package/dist/internal/engine/i18n/res/_types.d.ts +2 -0
  196. package/dist/internal/engine/i18n/res/_types.js +11 -0
  197. package/dist/internal/engine/observability/adapter.d.ts +2 -0
  198. package/dist/internal/engine/observability/adapter.js +2 -0
  199. package/dist/internal/engine/observability/best-effort.d.ts +2 -0
  200. package/dist/internal/engine/observability/best-effort.js +41 -0
  201. package/dist/internal/engine/observability/early-diagnostics.js +2 -0
  202. package/dist/internal/engine/observability/memory-snapshot.d.ts +2 -0
  203. package/dist/internal/engine/observability/memory-snapshot.js +44 -0
  204. package/dist/internal/engine/observability/observable-embedder.d.ts +2 -0
  205. package/dist/internal/engine/observability/observable-embedder.js +43 -0
  206. package/dist/internal/engine/observability/observable-llm-client.d.ts +2 -0
  207. package/dist/internal/engine/observability/observable-llm-client.js +98 -0
  208. package/dist/internal/engine/observability/observable-memory-store.d.ts +2 -0
  209. package/dist/internal/engine/observability/observable-memory-store.js +701 -0
  210. package/dist/internal/engine/observability/observable-retriever.d.ts +2 -0
  211. package/dist/internal/engine/observability/observable-retriever.js +95 -0
  212. package/dist/internal/engine/observability/runtime-diagnostics.d.ts +13 -0
  213. package/dist/internal/engine/observability/runtime-diagnostics.js +96 -0
  214. package/dist/internal/engine/observability/session-registry.d.ts +2 -0
  215. package/dist/internal/engine/observability/session-registry.js +58 -0
  216. package/dist/internal/engine/observability/version-metadata.d.ts +7 -0
  217. package/dist/internal/engine/observability/version-metadata.js +59 -0
  218. package/dist/internal/engine/operations/daily-spend-estimator.d.ts +2 -0
  219. package/dist/internal/engine/operations/daily-spend-estimator.js +97 -0
  220. package/dist/internal/engine/operations/learning-file-maintenance.d.ts +2 -0
  221. package/dist/internal/engine/operations/learning-file-maintenance.js +255 -0
  222. package/dist/internal/engine/operations/memory-tier-promoter.d.ts +2 -0
  223. package/dist/internal/engine/operations/memory-tier-promoter.js +95 -0
  224. package/dist/internal/engine/operations/runtime-audit-log.d.ts +3 -0
  225. package/dist/internal/engine/operations/runtime-audit-log.js +3 -0
  226. package/dist/internal/engine/provider/canonical-memory-corpus.d.ts +38 -0
  227. package/dist/internal/engine/provider/canonical-memory-corpus.js +253 -0
  228. package/dist/internal/engine/provider/provider-registration.d.ts +39 -0
  229. package/dist/internal/engine/provider/provider-registration.js +2 -0
  230. package/dist/internal/engine/provider/provider-row-renderer.d.ts +7 -0
  231. package/dist/internal/engine/provider/provider-row-renderer.js +53 -0
  232. package/dist/internal/engine/provider/provider-types.d.ts +2 -0
  233. package/dist/internal/engine/provider/provider-types.js +1 -0
  234. package/dist/internal/engine/reflection/daily-log-generator.d.ts +2 -0
  235. package/dist/internal/engine/reflection/daily-log-generator.js +2 -0
  236. package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +2 -0
  237. package/dist/internal/engine/reflection/reflection-command-hooks.js +2 -0
  238. package/dist/internal/engine/reflection/reflection-deps.d.ts +2 -0
  239. package/dist/internal/engine/reflection/reflection-deps.js +1 -0
  240. package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +2 -0
  241. package/dist/internal/engine/reflection/reflection-embedded-generator.js +2 -0
  242. package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +2 -0
  243. package/dist/internal/engine/reflection/reflection-injection-hooks.js +219 -0
  244. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +2 -0
  245. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +63 -0
  246. package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +4 -0
  247. package/dist/internal/engine/reflection/strategy-hook-runner.js +3 -0
  248. package/dist/internal/engine/rem/classifier.d.ts +2 -0
  249. package/dist/internal/engine/rem/classifier.js +180 -0
  250. package/dist/internal/engine/rem/index.d.ts +4 -0
  251. package/dist/internal/engine/rem/index.js +2551 -0
  252. package/dist/internal/engine/rem/types.d.ts +2 -0
  253. package/dist/internal/engine/rem/types.js +40 -0
  254. package/dist/internal/engine/retrieval/access-tracker.d.ts +2 -0
  255. package/dist/internal/engine/retrieval/access-tracker.js +314 -0
  256. package/dist/internal/engine/retrieval/intent-analyzer.d.ts +2 -0
  257. package/dist/internal/engine/retrieval/intent-analyzer.js +27 -0
  258. package/dist/internal/engine/retrieval/retrieval-gate.d.ts +2 -0
  259. package/dist/internal/engine/retrieval/retrieval-gate.js +47 -0
  260. package/dist/internal/engine/retrieval/retriever.d.ts +2 -0
  261. package/dist/internal/engine/retrieval/retriever.js +2 -0
  262. package/dist/internal/engine/security/memory-scope-policy.d.ts +2 -0
  263. package/dist/internal/engine/security/memory-scope-policy.js +2 -0
  264. package/dist/internal/engine/security/redact.d.ts +2 -0
  265. package/dist/internal/engine/security/redact.js +34 -0
  266. package/dist/internal/engine/security/scopes.d.ts +3 -0
  267. package/dist/internal/engine/security/scopes.js +3 -0
  268. package/dist/internal/engine/shared/errors.d.ts +2 -0
  269. package/dist/internal/engine/shared/errors.js +66 -0
  270. package/dist/internal/engine/shared/i18n-text.d.ts +2 -0
  271. package/dist/internal/engine/shared/i18n-text.js +58 -0
  272. package/dist/internal/engine/shared/iso-date-time.d.ts +16 -0
  273. package/dist/internal/engine/shared/iso-date-time.js +40 -0
  274. package/dist/internal/engine/shared/lru.d.ts +2 -0
  275. package/dist/internal/engine/shared/lru.js +30 -0
  276. package/dist/internal/engine/shared/memory-kind-policy.d.ts +2 -0
  277. package/dist/internal/engine/shared/memory-kind-policy.js +64 -0
  278. package/dist/internal/engine/shared/paths.d.ts +3 -0
  279. package/dist/internal/engine/shared/paths.js +2 -0
  280. package/dist/internal/engine/shared/types.d.ts +3 -0
  281. package/dist/internal/engine/shared/types.js +25 -0
  282. package/dist/internal/engine/shared/utils.d.ts +2 -0
  283. package/dist/internal/engine/shared/utils.js +175 -0
  284. package/dist/internal/engine/telemetry/memory-telemetry-api.d.ts +134 -0
  285. package/dist/internal/engine/telemetry/memory-telemetry-api.js +730 -0
  286. package/dist/internal/engine/telemetry/memory-telemetry-observability.d.ts +24 -0
  287. package/dist/internal/engine/telemetry/memory-telemetry-observability.js +133 -0
  288. package/dist/internal/engine/telemetry/memory-telemetry-outbox.d.ts +2 -0
  289. package/dist/internal/engine/telemetry/memory-telemetry-outbox.js +443 -0
  290. package/dist/internal/engine/telemetry/memory-telemetry-types.d.ts +2 -0
  291. package/dist/internal/engine/telemetry/memory-telemetry-types.js +21 -0
  292. package/dist/internal/engine/telemetry/observe-ledger.d.ts +30 -0
  293. package/dist/internal/engine/telemetry/observe-ledger.js +111 -0
  294. package/dist/internal/model/agent-llm-port.d.ts +2 -0
  295. package/dist/internal/model/agent-llm-port.js +1 -0
  296. package/dist/internal/model/llm-client.d.ts +3 -0
  297. package/dist/internal/model/llm-client.js +3 -0
  298. package/dist/internal/model/llm-failure.d.ts +26 -0
  299. package/dist/internal/model/llm-failure.js +63 -0
  300. package/dist/internal/model/llm-mode-routing.d.ts +22 -0
  301. package/dist/internal/model/llm-mode-routing.js +37 -0
  302. package/dist/internal/store/atomic-memory-cutover-sql.d.ts +13 -0
  303. package/dist/internal/store/atomic-memory-cutover-sql.js +237 -0
  304. package/dist/internal/store/connection.d.ts +2 -0
  305. package/dist/internal/store/connection.js +2 -0
  306. package/dist/internal/store/data-bootstrap.d.ts +2 -0
  307. package/dist/internal/store/data-bootstrap.js +2 -0
  308. package/dist/internal/store/data-paths.d.ts +2 -0
  309. package/dist/internal/store/data-paths.js +65 -0
  310. package/dist/internal/store/maintenance.d.ts +75 -0
  311. package/dist/internal/store/maintenance.js +1401 -0
  312. package/dist/internal/store/memory-kinds-cutover-migrator.d.ts +28 -0
  313. package/dist/internal/store/memory-kinds-cutover-migrator.js +415 -0
  314. package/dist/internal/store/migrations.d.ts +27 -0
  315. package/dist/internal/store/migrations.js +201 -0
  316. package/dist/internal/store/sqlite-runtime.d.ts +2 -0
  317. package/dist/internal/store/sqlite-runtime.js +109 -0
  318. package/dist/internal/store/store.d.ts +3 -0
  319. package/dist/internal/store/store.js +2 -0
  320. package/dist/learning-file-maintenance-9b-Ut6Kv.d.ts +30 -0
  321. package/dist/llm-client-B7Xoxqou.js +1378 -0
  322. package/dist/llm-client-DOTSGzhe.d.ts +51 -0
  323. package/dist/locales-JxGmkG6t.d.ts +7 -0
  324. package/dist/log-site-catalog.generated-B9WYdnAM.js +2321 -0
  325. package/dist/log-site-catalog.json +1 -0
  326. package/dist/lru-DyoaTyIs.d.ts +14 -0
  327. package/dist/memdump.d.ts +52 -0
  328. package/dist/memdump.js +163 -0
  329. package/dist/memory-entry-projector-DHo8jH10.js +1015 -0
  330. package/dist/memory-kind-policy-LKt0u3gy.d.ts +23 -0
  331. package/dist/memory-metadata-codec-C3oQd47V.d.ts +68 -0
  332. package/dist/memory-metadata-codec-DL1sbJiN.js +577 -0
  333. package/dist/memory-runtime-BZtREuwW.js +19459 -0
  334. package/dist/memory-scope-policy-1gg5QlWZ.d.ts +67 -0
  335. package/dist/memory-scope-policy-DICSCURA.js +283 -0
  336. package/dist/memory-snapshot-3e44ND2i.d.ts +16 -0
  337. package/dist/memory-source-order-BtrIxaIt.js +134 -0
  338. package/dist/memory-store-base-XRA4S9Xl.d.ts +1095 -0
  339. package/dist/memory-store-shared-DeIDkhLj.js +158 -0
  340. package/dist/memory-store-write-validation-B_hDG2zf.js +243 -0
  341. package/dist/memory-telemetry-incidents-BWA9kcZx.js +8 -0
  342. package/dist/memory-telemetry-metadata-CA7W8tK6.js +77 -0
  343. package/dist/memory-telemetry-outbox-ddTdImt7.d.ts +74 -0
  344. package/dist/memory-telemetry-receipts-MAJecvXQ.d.ts +34 -0
  345. package/dist/memory-telemetry-receipts-YsxbwOAf.js +91 -0
  346. package/dist/memory-telemetry-types-CufVmrCs.d.ts +14 -0
  347. package/dist/memory-temporality-classifier-CEdRTN5J.d.ts +43 -0
  348. package/dist/memory-temporality-classifier-CKiTAHXe.js +184 -0
  349. package/dist/memory-tier-promoter-DbTpahkP.d.ts +43 -0
  350. package/dist/memory-tool-dependencies-CLODycUw.js +19 -0
  351. package/dist/memory-tool-dependencies-N69chrQc.d.ts +14 -0
  352. package/dist/model-call-table-CspopkBg.js +563 -0
  353. package/dist/model-reply-text-CKopStP2.js +334 -0
  354. package/dist/observable-embedder-DQnNgf9O.d.ts +17 -0
  355. package/dist/observable-llm-client-uwqPADpN.d.ts +21 -0
  356. package/dist/observable-memory-store-BaZKbhgq.d.ts +73 -0
  357. package/dist/observable-retriever-Dt_NUxAA.d.ts +23 -0
  358. package/dist/operation-cancellation-CTKWwNHk.js +81 -0
  359. package/dist/paths-qVF-5uBq.d.ts +1 -0
  360. package/dist/plugin-config-schema-C0UUbOmG.d.ts +413 -0
  361. package/dist/plugin-config-schema-YJLyIIcJ.js +361 -0
  362. package/dist/profile-TWPJ_myr.d.ts +13 -0
  363. package/dist/profile-section-writer-hIphqpUY.js +2149 -0
  364. package/dist/provider-registration-CF1tg8Xy.js +721 -0
  365. package/dist/provider-runtime-types-DFhtdA6d.d.ts +134 -0
  366. package/dist/provider-types-CZGm6v88.d.ts +23 -0
  367. package/dist/redact-BTIZcHQL.d.ts +5 -0
  368. package/dist/reflection-command-hooks-BeQiJI9-.js +644 -0
  369. package/dist/reflection-command-hooks-C1Vxgb-O.d.ts +32 -0
  370. package/dist/reflection-deps-RpLPFrSc.d.ts +19 -0
  371. package/dist/reflection-embedded-generator-CDUhgV96.js +130 -0
  372. package/dist/reflection-embedded-generator-CxOex5xK.d.ts +14 -0
  373. package/dist/reflection-injection-hooks-DfUgqu8f.d.ts +43 -0
  374. package/dist/reflection-lifecycle-hooks-Ct5HBdSG.d.ts +27 -0
  375. package/dist/relation-dictionary-Cev1kyLe.js +4248 -0
  376. package/dist/release-download.d.ts +8 -0
  377. package/dist/release-download.js +32 -0
  378. package/dist/relevant-memories-context-m8nuFZcM.js +23 -0
  379. package/dist/rem-batch-executor-Cbm5gfSe.js +31644 -0
  380. package/dist/rem-batch-executor-bc0IFlp2.js +2 -0
  381. package/dist/rem-consumer-retrieval-CRpvG8KS.js +246 -0
  382. package/dist/rem-trigger-BTxkcjgT.js +729 -0
  383. package/dist/resolver-Dy-hnjCR.js +103 -0
  384. package/dist/results-C3ZLroMb.js +140 -0
  385. package/dist/retrieval-gate-Bx2Zg7jD.d.ts +31 -0
  386. package/dist/retriever-CygHBazG.js +1757 -0
  387. package/dist/retriever-Ruk3zp7_.d.ts +469 -0
  388. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  389. package/dist/routes-Ce7SQKec.js +59 -0
  390. package/dist/runtime-audit-log-BCeujlEp.js +430 -0
  391. package/dist/runtime-audit-log-zpQiR9HT.d.ts +149 -0
  392. package/dist/scopes-CSOn6zdd.js +71 -0
  393. package/dist/scopes-CtrY-YQ3.d.ts +23 -0
  394. package/dist/server-BPAY4NTG.js +1410 -0
  395. package/dist/session-registry-DBoE7AvZ.d.ts +14 -0
  396. package/dist/sidecar/main.d.ts +1 -0
  397. package/dist/sidecar/main.js +56 -0
  398. package/dist/signed-registry-constants-Bv0fgZ8Q.d.ts +12 -0
  399. package/dist/signed-registry-constants-yq3DlG3B.js +82 -0
  400. package/dist/sno-station-mem-runtime-dependencies-Bu-MiqPX.d.ts +31 -0
  401. package/dist/sno-station-mem-runtime-dependencies-DjLOhB45.js +30 -0
  402. package/dist/sqlite-runtime-L_ywirTm.d.ts +58 -0
  403. package/dist/store-2pM0-dZg.d.ts +27 -0
  404. package/dist/store-DzpZBMEm.js +5830 -0
  405. package/dist/strategy-hook-runner-gBtU47tX.d.ts +16 -0
  406. package/dist/strategy-hook-runner-zmdIYOmQ.js +110 -0
  407. package/dist/token-counter-BD1f48Km.js +73 -0
  408. package/dist/trace-1t1n_wUm.d.ts +86 -0
  409. package/dist/types-DxKqU60b.d.ts +477 -0
  410. package/dist/types-pVomjzqR.d.ts +132 -0
  411. package/dist/unplaced-candidate-migration-CbQHzcEM.js +940 -0
  412. package/dist/utils-Ctb9aevJ.d.ts +34 -0
  413. package/drizzle/0000_initial.sql +10 -0
  414. package/drizzle/0001_virtual_tables.sql +34 -0
  415. package/drizzle/0002_add_indexes.sql +11 -0
  416. package/drizzle/0003_content_hash_lookup_index.sql +2 -0
  417. package/drizzle/0004_chunk_swap.sql +60 -0
  418. package/drizzle/0005_drop_legacy_vec_fts.sql +10 -0
  419. package/drizzle/0006_fts_simple.sql +45 -0
  420. package/drizzle/0007_restore_simple_fts.sql +40 -0
  421. package/drizzle/0008_widen_memory_hash_unique_index.sql +4 -0
  422. package/drizzle/0009_memory_telemetry.sql +109 -0
  423. package/drizzle/0010_provider_mappings.sql +27 -0
  424. package/drizzle/0011_db_optimization.sql +82 -0
  425. package/drizzle/0012_b_profile_lanes.sql +9 -0
  426. package/drizzle/0013_extraction_timestamps.sql +6 -0
  427. package/drizzle/0014_extraction_timestamp_source.sql +3 -0
  428. package/drizzle/0015_task_lifecycle_state.sql +101 -0
  429. package/drizzle/0016_task_lifecycle_legacy_migration.sql +144 -0
  430. package/drizzle/0017_unplaced_candidates.sql +15 -0
  431. package/drizzle/0018_rem_batch_chassis.sql +71 -0
  432. package/drizzle/0019_profile_recovery_entries.sql +17 -0
  433. package/drizzle/0020_rem_scan_retry_progress.down.sql +14 -0
  434. package/drizzle/0020_rem_scan_retry_progress.sql +24 -0
  435. package/drizzle/0021_rem_two_facet_storage.down.sql +14 -0
  436. package/drizzle/0021_rem_two_facet_storage.sql +42 -0
  437. package/drizzle/0022_rem_facet_chunk_versions.down.sql +4 -0
  438. package/drizzle/0022_rem_facet_chunk_versions.sql +4 -0
  439. package/drizzle/0023_rem_defect_ledger.sql +40 -0
  440. package/drizzle/0024_rem_unbuilt_foundations.down.sql +13 -0
  441. package/drizzle/0024_rem_unbuilt_foundations.sql +65 -0
  442. package/drizzle/0025_rem_journal_operation_constraint.sql +28 -0
  443. package/drizzle/0026_rem_journal_detail.sql +1 -0
  444. package/drizzle/0027_legacy_nodix_namespace.sql +3 -0
  445. package/drizzle/0028_memory_timezone.sql +23 -0
  446. package/drizzle/0029_rem_write_hash_symmetry.sql +17 -0
  447. package/drizzle/0030_atomic_memory_additive.sql +105 -0
  448. package/drizzle/0031_atomic_extraction_ledger.sql +23 -0
  449. package/drizzle/0032_atomic_memory_entities.sql +12 -0
  450. package/drizzle/0033_todo_own_store.sql +99 -0
  451. package/drizzle/meta/0000_snapshot.json +87 -0
  452. package/drizzle/meta/_journal.json +244 -0
  453. package/generated/rem-operations.json +1 -0
  454. package/package.json +126 -4
  455. package/scripts/download-simple-tokenizer.mjs +254 -0
  456. package/settings.default.json +243 -0
  457. package/skills/extract-atomic-memory/SKILL.md +298 -0
  458. package/skills/extract-atomic-memory/references/account-for-turns.md +9 -0
  459. package/skills/extract-atomic-memory/references/calendar-meaning.md +64 -0
  460. package/skills/extract-atomic-memory/references/capture.md +120 -0
  461. package/skills/extract-atomic-memory/references/enrichment.md +92 -0
  462. package/skills/extract-atomic-memory/references/missing-durable-half.md +6 -0
  463. package/skills/extract-atomic-memory/references/progress-classification.md +21 -0
  464. package/skills/extract-atomic-memory/references/resolve-subject.md +19 -0
  465. package/skills/extract-atomic-memory/references/surrounding-context.md +10 -0
  466. package/skills/extract-atomic-memory/references/user-subject-guard.md +29 -0
  467. package/skills/judge-group-closure/SKILL.md +25 -0
  468. package/skills/judge-rem-memory-updates/SKILL.md +56 -0
  469. package/skills/judge-rem-memory-updates/agents/openai.yaml +4 -0
  470. package/skills/judge-retired-position/SKILL.md +25 -0
  471. package/skills/judge-task-lifecycle/SKILL.md +45 -0
  472. package/skills/key-state-attribute/SKILL.md +16 -0
  473. package/skills/resolve-entity-identity/SKILL.md +24 -0
  474. package/skills/resolve-relative-time/SKILL.md +22 -0
  475. package/sqlite-extensions/LICENSE-simple-tokenizer +28 -0
  476. package/sqlite-extensions/LICENSE-sqlite-vec +21 -0
  477. package/sqlite-extensions/linux-arm64/vec0.so +0 -0
  478. package/sqlite-extensions/linux-x64/vec0.so +0 -0
package/LICENSE ADDED
@@ -0,0 +1,176 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
package/README.md CHANGED
@@ -1,3 +1,8 @@
1
- # Temporary Holding Version
1
+ # @snoai/memory
2
+
3
+ The shared local memory engine used by the OpenClaw, Claude Code, and Codex integrations in Sno
4
+ Station.
5
+
6
+ The source is available here under Apache-2.0. The supported product installation path is not yet
7
+ announced; watch the repository README for the dated launch status.
2
8
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
@@ -0,0 +1,118 @@
1
+ {
2
+ "schema_version": 3,
3
+ "frozen_at": "2026-07-27T09:50:00+00:00",
4
+ "domains": [
5
+ "identity",
6
+ "communication",
7
+ "work_style",
8
+ "collaboration",
9
+ "productivity",
10
+ "technology",
11
+ "media",
12
+ "food",
13
+ "travel",
14
+ "lifestyle",
15
+ "values",
16
+ "entities"
17
+ ],
18
+ "gate_prompt": {
19
+ "instructions": "Classify every candidate in one pass. Decide whether the fact is about the user—what they own, work on, are responsible for, participate in, prefer, choose, or are—rather than about a third party. Determine the subject and profile_kind only from evidence_text. projected_content is synthetic and must never be used to infer the subject or profile_kind. A statement such as 'my manager prefers email' has subject_is_user=false even if projected_content says 'The user likes email'. A manager's task, third-party task, third-party preference, or assistant preference has subject_is_user=false. Storage addresses are code-owned; return a profile kind, never an address. Do not omit any candidate.",
20
+ "registry_header": "GROUPED SECTION REGISTRY:",
21
+ "candidates_header": "CANDIDATES:",
22
+ "output_contract": "Return strict JSON only: {\"verdicts\":[{\"candidate_index\":0,\"subject_is_user\":true,\"reason\":\"short reason\",\"section_name\":\"preferences.music\"}]}. Use null for section_name when no section pick is needed."
23
+ },
24
+ "active_task_shape": {
25
+ "projection_max_items": 25,
26
+ "projection_title_max_tokens": 128
27
+ },
28
+ "sections": [
29
+ { "name": "identity", "domain": "identity", "synonyms": { "de": ["Identität"], "en": ["identity", "personal identity"], "es": ["identidad"], "fr": ["identité"], "ja": ["個人の身元"], "ko": ["개인 정체성"], "ru": ["личность"], "zh": ["个人身份"], "zh-Hant": ["個人身分"] } },
30
+
31
+ { "name": "preferences.answer_length", "domain": "communication", "synonyms": { "de": ["kurze Antworten"], "en": ["answer length", "response length", "reply length", "concise answers", "short answers", "brief responses"], "es": ["respuestas breves"], "fr": ["réponses brèves"], "ja": ["短い回答"], "ko": ["짧은 답변"], "ru": ["краткие ответы"], "zh": ["简短回答"], "zh-Hant": ["簡短回答"] } },
32
+ { "name": "preferences.status_updates", "domain": "communication", "synonyms": { "de": ["Statusmeldungen"], "en": ["status updates", "project updates", "progress updates", "standup updates"], "es": ["actualizaciones de estado"], "fr": ["mises à jour de statut"], "ja": ["進捗報告"], "ko": ["상태 업데이트"], "ru": ["обновления статуса"], "zh": ["状态更新"], "zh-Hant": ["狀態更新"] } },
33
+ { "name": "preferences.feedback_style", "domain": "communication", "synonyms": { "de": ["Feedbackstil"], "en": ["feedback style", "critique style", "direct feedback", "open feedback"], "es": ["estilo de comentarios"], "fr": ["style de retour"], "ja": ["フィードバック方法"], "ko": ["피드백 방식"], "ru": ["стиль обратной связи"], "zh": ["反馈方式"], "zh-Hant": ["回饋方式"] } },
34
+ { "name": "preferences.communication_channel", "domain": "communication", "synonyms": { "de": ["Kommunikationskanal"], "en": ["communication channel", "async communication", "chat messages", "email updates"], "es": ["canal de comunicación"], "fr": ["canal de communication"], "ja": ["連絡手段"], "ko": ["소통 채널"], "ru": ["канал связи"], "zh": ["沟通渠道"], "zh-Hant": ["溝通管道"] } },
35
+ { "name": "preferences.tone", "domain": "communication", "synonyms": { "de": ["Kommunikationston"], "en": ["communication tone", "writing tone", "tone preference"], "es": ["tono de comunicación"], "fr": ["ton de communication"], "ja": ["会話の口調"], "ko": ["대화 어조"], "ru": ["тон общения"], "zh": ["沟通语气"], "zh-Hant": ["溝通語氣"] } },
36
+ { "name": "preferences.language", "domain": "communication", "synonyms": { "de": ["Sprachpräferenz"], "en": ["language preference", "spoken language", "written language"], "es": ["idioma preferido"], "fr": ["langue préférée"], "ja": ["使用言語"], "ko": ["선호 언어"], "ru": ["предпочитаемый язык"], "zh": ["语言偏好"], "zh-Hant": ["語言偏好"] } },
37
+
38
+ { "name": "preferences.meeting_style", "domain": "work_style", "synonyms": { "de": ["Besprechungsstil"], "en": ["meeting style", "standups", "one on one meetings", "sync meetings"], "es": ["estilo de reuniones"], "fr": ["style de réunion"], "ja": ["会議スタイル"], "ko": ["회의 방식"], "ru": ["стиль встреч"], "zh": ["会议方式"], "zh-Hant": ["會議方式"] } },
39
+ { "name": "preferences.design_review", "domain": "work_style", "synonyms": { "de": ["Entwurfsprüfung"], "en": ["design review", "asynchronous design review", "code review", "review timing"], "es": ["revisión de diseño"], "fr": ["revue de conception"], "ja": ["設計レビュー"], "ko": ["설계 검토"], "ru": ["проверка дизайна"], "zh": ["设计评审"], "zh-Hant": ["設計審查"] } },
40
+ { "name": "preferences.work_planning", "domain": "work_style", "synonyms": { "de": ["Arbeitsplanung"], "en": ["work planning", "task planning", "prioritization", "decision making"], "es": ["planificación del trabajo"], "fr": ["planification du travail"], "ja": ["作業計画"], "ko": ["업무 계획"], "ru": ["планирование работы"], "zh": ["工作规划"], "zh-Hant": ["工作規劃"] } },
41
+ { "name": "preferences.work_schedule", "domain": "work_style", "synonyms": { "de": ["Arbeitszeit"], "en": ["work schedule", "working hours", "focus time", "deep work"], "es": ["horario laboral"], "fr": ["horaire de travail"], "ja": ["勤務時間"], "ko": ["근무 일정"], "ru": ["рабочий график"], "zh": ["工作时间"], "zh-Hant": ["工作時間"] } },
42
+ { "name": "preferences.work_environment", "domain": "work_style", "synonyms": { "de": ["Arbeitsumgebung"], "en": ["work environment", "office setup", "remote work"], "es": ["entorno de trabajo"], "fr": ["environnement de travail"], "ja": ["作業環境"], "ko": ["업무 환경"], "ru": ["рабочая среда"], "zh": ["工作环境"], "zh-Hant": ["工作環境"] } },
43
+ { "name": "preferences.documentation", "domain": "work_style", "synonyms": { "de": ["Dokumentationsstil"], "en": ["documentation style", "written documentation", "technical documentation"], "es": ["estilo de documentación"], "fr": ["style de documentation"], "ja": ["文書化方針"], "ko": ["문서화 방식"], "ru": ["стиль документации"], "zh": ["文档方式"], "zh-Hant": ["文件方式"] } },
44
+
45
+ { "name": "preferences.collaboration_mode", "domain": "collaboration", "synonyms": { "de": ["Zusammenarbeitsform"], "en": ["collaboration mode", "pairing style", "team collaboration"], "es": ["modo de colaboración"], "fr": ["mode de collaboration"], "ja": ["協働スタイル"], "ko": ["협업 방식"], "ru": ["формат сотрудничества"], "zh": ["协作方式"], "zh-Hant": ["協作方式"] } },
46
+ { "name": "preferences.delegation", "domain": "collaboration", "synonyms": { "de": ["Delegationsstil"], "en": ["delegation style", "task ownership", "delegation"], "es": ["estilo de delegación"], "fr": ["style de délégation"], "ja": ["委任方法"], "ko": ["위임 방식"], "ru": ["стиль делегирования"], "zh": ["委派方式"], "zh-Hant": ["委派方式"] } },
47
+ { "name": "preferences.decision_process", "domain": "collaboration", "synonyms": { "de": ["Entscheidungsprozess"], "en": ["decision process", "consensus style", "decision ownership"], "es": ["proceso de decisión"], "fr": ["processus de décision"], "ja": ["意思決定方法"], "ko": ["의사 결정 과정"], "ru": ["процесс принятия решений"], "zh": ["决策流程"], "zh-Hant": ["決策流程"] } },
48
+ { "name": "preferences.conflict_style", "domain": "collaboration", "synonyms": { "de": ["Konfliktstil"], "en": ["conflict style", "disagreement style", "conflict resolution"], "es": ["estilo de conflicto"], "fr": ["style de conflit"], "ja": ["対立解決方法"], "ko": ["갈등 해결 방식"], "ru": ["стиль разрешения конфликтов"], "zh": ["冲突处理方式"], "zh-Hant": ["衝突處理方式"] } },
49
+ { "name": "preferences.mentoring", "domain": "collaboration", "synonyms": { "de": ["Mentoringstil"], "en": ["mentoring style", "coaching preference", "learning support"], "es": ["estilo de mentoría"], "fr": ["style de mentorat"], "ja": ["指導スタイル"], "ko": ["멘토링 방식"], "ru": ["стиль наставничества"], "zh": ["指导方式"], "zh-Hant": ["指導方式"] } },
50
+
51
+ { "name": "preferences.task_management", "domain": "productivity", "synonyms": { "de": ["Aufgabenverwaltung"], "en": ["task management", "todo system", "task tracking"], "es": ["gestión de tareas"], "fr": ["gestion des tâches"], "ja": ["タスク管理"], "ko": ["작업 관리"], "ru": ["управление задачами"], "zh": ["任务管理"], "zh-Hant": ["任務管理"] } },
52
+ { "name": "preferences.focus_pattern", "domain": "productivity", "synonyms": { "de": ["Fokusmuster"], "en": ["focus pattern", "concentration style", "focus sessions"], "es": ["patrón de concentración"], "fr": ["mode de concentration"], "ja": ["集中方法"], "ko": ["집중 방식"], "ru": ["режим концентрации"], "zh": ["专注方式"], "zh-Hant": ["專注方式"] } },
53
+ { "name": "preferences.break_pattern", "domain": "productivity", "synonyms": { "de": ["Pausenmuster"], "en": ["break pattern", "rest breaks", "pomodoro"], "es": ["patrón de descansos"], "fr": ["rythme des pauses"], "ja": ["休憩方法"], "ko": ["휴식 방식"], "ru": ["режим перерывов"], "zh": ["休息方式"], "zh-Hant": ["休息方式"] } },
54
+ { "name": "preferences.notification_style", "domain": "productivity", "synonyms": { "de": ["Benachrichtigungsstil"], "en": ["notification style", "alert preference", "notification preference"], "es": ["estilo de notificaciones"], "fr": ["style de notification"], "ja": ["通知設定"], "ko": ["알림 방식"], "ru": ["стиль уведомлений"], "zh": ["通知偏好"], "zh-Hant": ["通知偏好"] } },
55
+ { "name": "preferences.deadline_style", "domain": "productivity", "synonyms": { "de": ["Fristenplanung"], "en": ["deadline style", "due date preference", "deadline planning"], "es": ["planificación de plazos"], "fr": ["gestion des échéances"], "ja": ["締切管理"], "ko": ["마감 관리"], "ru": ["планирование сроков"], "zh": ["截止日期规划"], "zh-Hant": ["截止日期規劃"] } },
56
+ { "name": "preferences.tooling_workflow", "domain": "productivity", "synonyms": { "de": ["Werkzeugablauf"], "en": ["workflow tools", "productivity tools", "tooling workflow"], "es": ["flujo de herramientas"], "fr": ["flux d'outils"], "ja": ["ツール運用"], "ko": ["도구 작업 흐름"], "ru": ["рабочий процесс инструментов"], "zh": ["工具工作流"], "zh-Hant": ["工具工作流程"] } },
57
+ { "name": "preferences.productivity_method", "domain": "productivity", "synonyms": { "de": ["Produktivitätsmethode"], "en": ["productivity", "productivity methods", "productivity strategies", "time management"], "es": ["método de productividad"], "fr": ["méthode de productivité"], "ja": ["生産性向上法"], "ko": ["생산성 향상 방법"], "ru": ["метод продуктивности"], "zh": ["效率方法"], "zh-Hant": ["效率方法"] } },
58
+
59
+ { "name": "preferences.programming_language", "domain": "technology", "synonyms": { "de": ["Programmiersprache"], "en": ["programming language", "coding language", "language stack"], "es": ["lenguaje de programación"], "fr": ["langage de programmation"], "ja": ["プログラミング言語"], "ko": ["프로그래밍 언어"], "ru": ["язык программирования"], "zh": ["编程语言"], "zh-Hant": ["程式語言"] } },
60
+ { "name": "preferences.framework", "domain": "technology", "synonyms": { "de": ["Software-Framework"], "en": ["framework preference", "software framework", "application framework"], "es": ["marco de software"], "fr": ["cadre logiciel"], "ja": ["ソフトウェアフレームワーク"], "ko": ["소프트웨어 프레임워크"], "ru": ["программный фреймворк"], "zh": ["软件框架"], "zh-Hant": ["軟體框架"] } },
61
+ { "name": "preferences.editor", "domain": "technology", "synonyms": { "de": ["Code-Editor"], "en": ["editor preference", "code editor", "development editor"], "es": ["editor de código"], "fr": ["éditeur de code"], "ja": ["コードエディタ"], "ko": ["코드 편집기"], "ru": ["редактор кода"], "zh": ["代码编辑器"], "zh-Hant": ["程式碼編輯器"] } },
62
+ { "name": "preferences.operating_system", "domain": "technology", "synonyms": { "de": ["Betriebssystem"], "en": ["operating system", "desktop platform", "computer platform"], "es": ["sistema operativo"], "fr": ["système d'exploitation"], "ja": ["オペレーティングシステム"], "ko": ["운영 체제"], "ru": ["операционная система"], "zh": ["操作系统"], "zh-Hant": ["作業系統"] } },
63
+ { "name": "preferences.device", "domain": "technology", "synonyms": { "de": ["Gerätepräferenz"], "en": ["device preference", "computer hardware", "mobile device"], "es": ["dispositivo preferido"], "fr": ["appareil préféré"], "ja": ["端末の好み"], "ko": ["기기 선호"], "ru": ["предпочитаемое устройство"], "zh": ["设备偏好"], "zh-Hant": ["裝置偏好"] } },
64
+ { "name": "preferences.ai_tools", "domain": "technology", "synonyms": { "de": ["KI-Werkzeuge"], "en": ["ai tools", "assistant tools", "coding assistant"], "es": ["herramientas de IA"], "fr": ["outils d'IA"], "ja": ["AIツール"], "ko": ["인공지능 도구"], "ru": ["инструменты ИИ"], "zh": ["人工智能工具"], "zh-Hant": ["人工智慧工具"] } },
65
+ { "name": "preferences.ai_interests", "domain": "technology", "synonyms": { "de": ["KI-Interessen"], "en": ["ai interests", "ai ethics", "ai applications", "machine learning interests", "neural networks"], "es": ["intereses en inteligencia artificial"], "fr": ["intérêts en intelligence artificielle"], "ja": ["AIへの関心"], "ko": ["인공지능 관심사"], "ru": ["интересы в ИИ"], "zh": ["人工智能兴趣"], "zh-Hant": ["人工智慧興趣"] } },
66
+ { "name": "preferences.science_interests", "domain": "technology", "synonyms": { "de": ["Wissenschaftsinteressen"], "en": ["science interests", "science and technology interests", "science learning", "quantum computing"], "es": ["intereses científicos"], "fr": ["intérêts scientifiques"], "ja": ["科学への関心"], "ko": ["과학 관심사"], "ru": ["научные интересы"], "zh": ["科学兴趣"], "zh-Hant": ["科學興趣"] } },
67
+ { "name": "preferences.renewable_energy", "domain": "technology", "synonyms": { "de": ["erneuerbare Energie"], "en": ["renewable energy", "renewable-energy interests", "sustainable technology"], "es": ["energía renovable"], "fr": ["énergie renouvelable"], "ja": ["再生可能エネルギー"], "ko": ["재생 에너지"], "ru": ["возобновляемая энергия"], "zh": ["可再生能源"], "zh-Hant": ["再生能源"] } },
68
+
69
+ { "name": "preferences.music", "domain": "media", "synonyms": { "de": ["Musikgeschmack"], "en": ["music", "music taste", "personal music taste", "favorite music"], "es": ["gusto musical"], "fr": ["goûts musicaux"], "ja": ["音楽の好み"], "ko": ["음악 취향"], "ru": ["музыкальные предпочтения"], "zh": ["音乐偏好"], "zh-Hant": ["音樂偏好"] } },
70
+ { "name": "preferences.books", "domain": "media", "synonyms": { "de": ["Buchgeschmack"], "en": ["books", "reading taste", "book preference"], "es": ["preferencias de libros"], "fr": ["préférences de lecture"], "ja": ["本の好み", "読書"], "ko": ["책 취향", "독서"], "ru": ["книжные предпочтения"], "zh": ["书籍偏好", "看书"], "zh-Hant": ["書籍偏好", "看書"] } },
71
+ { "name": "preferences.movies", "domain": "media", "synonyms": { "de": ["Filmgeschmack"], "en": ["movies", "film taste", "movie preference"], "es": ["gusto cinematográfico"], "fr": ["goûts cinématographiques"], "ja": ["映画の好み"], "ko": ["영화 취향"], "ru": ["предпочтения в кино"], "zh": ["电影偏好"], "zh-Hant": ["電影偏好"] } },
72
+ { "name": "preferences.film_directors", "domain": "media", "synonyms": { "de": ["Filmregisseure"], "en": ["film directors", "movie directors", "director preferences"], "es": ["directores de cine"], "fr": ["réalisateurs de cinéma"], "ja": ["映画監督"], "ko": ["영화 감독"], "ru": ["кинорежиссёры"], "zh": ["电影导演"], "zh-Hant": ["電影導演"] } },
73
+ { "name": "preferences.screen_performers", "domain": "media", "synonyms": { "de": ["Filmschauspieler"], "en": ["actors", "acting performances", "movie actors", "film actors", "celebrities"], "es": ["actores de cine"], "fr": ["acteurs de cinéma"], "ja": ["映画俳優"], "ko": ["영화 배우"], "ru": ["киноактёры"], "zh": ["影视演员"], "zh-Hant": ["影視演員"] } },
74
+ { "name": "preferences.history", "domain": "media", "synonyms": { "de": ["Geschichtsinteressen"], "en": ["history interests", "history analysis", "history and technology", "history and systems thinking"], "es": ["intereses históricos"], "fr": ["intérêts historiques"], "ja": ["歴史への関心"], "ko": ["역사 관심사"], "ru": ["исторические интересы"], "zh": ["历史兴趣"], "zh-Hant": ["歷史興趣"] } },
75
+ { "name": "preferences.television", "domain": "media", "synonyms": { "de": ["Fernsehserien"], "en": ["television", "tv shows", "series preference"], "es": ["series de televisión"], "fr": ["séries télévisées"], "ja": ["テレビ番組"], "ko": ["텔레비전 프로그램"], "ru": ["телевизионные сериалы"], "zh": ["电视节目"], "zh-Hant": ["電視節目"] } },
76
+ { "name": "preferences.games", "domain": "media", "synonyms": { "de": ["Spielegeschmack"], "en": ["games", "video games", "gaming taste"], "es": ["preferencias de juegos"], "fr": ["préférences de jeux"], "ja": ["ゲームの好み"], "ko": ["게임 취향"], "ru": ["игровые предпочтения"], "zh": ["游戏偏好"], "zh-Hant": ["遊戲偏好"] } },
77
+
78
+ { "name": "preferences.cuisine", "domain": "food", "synonyms": { "de": ["Küchenvorliebe"], "en": ["cuisine", "food preference", "favorite food"], "es": ["preferencia culinaria"], "fr": ["préférence culinaire"], "ja": ["料理の好み"], "ko": ["요리 취향"], "ru": ["кулинарные предпочтения"], "zh": ["菜系偏好"], "zh-Hant": ["菜系偏好"] } },
79
+ { "name": "preferences.diet", "domain": "food", "synonyms": { "de": ["Ernährungsweise"], "en": ["diet", "dietary preference", "eating pattern"], "es": ["preferencia dietética"], "fr": ["préférence alimentaire"], "ja": ["食事方針"], "ko": ["식단 선호"], "ru": ["пищевые предпочтения"], "zh": ["饮食偏好"], "zh-Hant": ["飲食偏好"] } },
80
+ { "name": "preferences.drinks", "domain": "food", "synonyms": { "de": ["Getränkevorliebe"], "en": ["drinks", "beverage preference", "favorite drink"], "es": ["bebida preferida"], "fr": ["boisson préférée"], "ja": ["飲み物の好み"], "ko": ["음료 취향"], "ru": ["предпочтения в напитках"], "zh": ["饮品偏好"], "zh-Hant": ["飲品偏好"] } },
81
+ { "name": "preferences.coffee_budget", "domain": "food", "synonyms": { "de": ["Kaffeebudget"], "en": ["coffee budget", "coffee price budget", "coffee spending"], "es": ["presupuesto de café"], "fr": ["budget café"], "ja": ["コーヒーの予算"], "ko": ["커피 예산"], "ru": ["бюджет на кофе"], "zh": ["咖啡预算"], "zh-Hant": ["咖啡預算"] } },
82
+ { "name": "preferences.food_budget", "domain": "food", "synonyms": { "de": ["Essensbudget"], "en": ["food budget", "breakfast budget", "lunch budget", "dinner budget", "grocery budget"], "es": ["presupuesto de comida"], "fr": ["budget alimentaire"], "ja": ["食費の予算"], "ko": ["식비 예산"], "ru": ["бюджет на питание"], "zh": ["餐饮预算"], "zh-Hant": ["餐飲預算"] } },
83
+ { "name": "preferences.restaurants", "domain": "food", "synonyms": { "de": ["Restaurantvorlieben"], "en": ["restaurants", "dining preference", "restaurant style"], "es": ["preferencias de restaurantes"], "fr": ["préférences de restaurants"], "ja": ["飲食店の好み"], "ko": ["식당 취향"], "ru": ["предпочтения ресторанов"], "zh": ["餐厅偏好"], "zh-Hant": ["餐廳偏好"] } },
84
+ { "name": "preferences.cooking", "domain": "food", "synonyms": { "de": ["Kochvorliebe"], "en": ["cooking", "cooking preference", "meal preparation"], "es": ["preferencia de cocina"], "fr": ["préférence de cuisine"], "ja": ["調理の好み"], "ko": ["조리 취향"], "ru": ["предпочтения в готовке"], "zh": ["烹饪偏好"], "zh-Hant": ["烹飪偏好"] } },
85
+
86
+ { "name": "preferences.destination", "domain": "travel", "synonyms": { "de": ["Reiseziel"], "en": ["travel destination", "destination preference", "places to visit"], "es": ["destino de viaje"], "fr": ["destination de voyage"], "ja": ["旅行先"], "ko": ["여행 목적지"], "ru": ["место путешествия"], "zh": ["旅行目的地"], "zh-Hant": ["旅行目的地"] } },
87
+ { "name": "preferences.travel_climate", "domain": "travel", "synonyms": { "de": ["Reiseklima"], "en": ["travel climate", "vacation weather", "warm climate", "cool climate"], "es": ["clima de viaje"], "fr": ["climat de voyage"], "ja": ["旅行の気候"], "ko": ["여행 기후"], "ru": ["климат для путешествий"], "zh": ["旅行气候", "温暖气候"], "zh-Hant": ["旅行氣候", "溫暖氣候"] } },
88
+ { "name": "preferences.transport", "domain": "travel", "synonyms": { "de": ["Reiseverkehrsmittel"], "en": ["travel transport", "transportation preference", "getting around"], "es": ["transporte de viaje"], "fr": ["transport de voyage"], "ja": ["旅行の移動手段"], "ko": ["여행 교통수단"], "ru": ["транспорт в путешествии"], "zh": ["旅行交通方式"], "zh-Hant": ["旅行交通方式"] } },
89
+ { "name": "preferences.accommodation", "domain": "travel", "synonyms": { "de": ["Unterkunftsvorliebe"], "en": ["accommodation", "lodging preference", "hotel preference"], "es": ["preferencia de alojamiento"], "fr": ["préférence d'hébergement"], "ja": ["宿泊先の好み"], "ko": ["숙박 선호"], "ru": ["предпочтения по жилью"], "zh": ["住宿偏好"], "zh-Hant": ["住宿偏好"] } },
90
+ { "name": "preferences.trip_pace", "domain": "travel", "synonyms": { "de": ["Reisetempo"], "en": ["trip pace", "travel pace", "itinerary pace"], "es": ["ritmo de viaje"], "fr": ["rythme de voyage"], "ja": ["旅行のペース"], "ko": ["여행 속도"], "ru": ["темп путешествия"], "zh": ["旅行节奏"], "zh-Hant": ["旅行節奏"] } },
91
+ { "name": "preferences.travel_company", "domain": "travel", "synonyms": { "de": ["Reisebegleitung"], "en": ["travel company", "solo travel", "group travel"], "es": ["compañía de viaje"], "fr": ["compagnie de voyage"], "ja": ["旅行の同行者"], "ko": ["여행 동행"], "ru": ["компания в путешествии"], "zh": ["旅行同伴"], "zh-Hant": ["旅行同伴"] } },
92
+
93
+ { "name": "preferences.exercise", "domain": "lifestyle", "synonyms": { "de": ["Trainingsvorliebe"], "en": ["exercise", "fitness preference", "workout style"], "es": ["preferencia de ejercicio"], "fr": ["préférence d'exercice"], "ja": ["運動の好み"], "ko": ["운동 취향"], "ru": ["предпочтения в тренировках"], "zh": ["运动偏好"], "zh-Hant": ["運動偏好"] } },
94
+ { "name": "preferences.sleep", "domain": "lifestyle", "synonyms": { "de": ["Schlafrhythmus"], "en": ["sleep", "sleep schedule", "bedtime preference"], "es": ["horario de sueño"], "fr": ["rythme de sommeil"], "ja": ["睡眠習慣"], "ko": ["수면 습관"], "ru": ["режим сна"], "zh": ["睡眠习惯"], "zh-Hant": ["睡眠習慣"] } },
95
+ { "name": "preferences.hobbies", "domain": "lifestyle", "synonyms": { "de": ["Hobbys"], "en": ["hobbies", "leisure activities", "pastimes"], "es": ["aficiones"], "fr": ["loisirs"], "ja": ["趣味活動"], "ko": ["취미 활동"], "ru": ["увлечения"], "zh": ["兴趣爱好"], "zh-Hant": ["興趣愛好"] } },
96
+ { "name": "preferences.fashion", "domain": "lifestyle", "synonyms": { "de": ["Modestil"], "en": ["fashion", "clothing style", "style preference"], "es": ["estilo de moda"], "fr": ["style vestimentaire"], "ja": ["服装の好み"], "ko": ["패션 취향"], "ru": ["стиль одежды"], "zh": ["穿衣风格"], "zh-Hant": ["穿衣風格"] } },
97
+ { "name": "preferences.home", "domain": "lifestyle", "synonyms": { "de": ["Wohnstil"], "en": ["home preference", "living space", "home style"], "es": ["estilo del hogar"], "fr": ["style de maison"], "ja": ["住まいの好み"], "ko": ["주거 취향"], "ru": ["стиль дома"], "zh": ["居家偏好"], "zh-Hant": ["居家偏好"] } },
98
+
99
+ { "name": "preferences.priorities", "domain": "values", "synonyms": { "de": ["persönliche Prioritäten"], "en": ["personal priorities", "priority preference", "what matters"], "es": ["prioridades personales"], "fr": ["priorités personnelles"], "ja": ["個人の優先事項"], "ko": ["개인 우선순위"], "ru": ["личные приоритеты"], "zh": ["个人优先事项"], "zh-Hant": ["個人優先事項"] } },
100
+ { "name": "preferences.risk_tolerance", "domain": "values", "synonyms": { "de": ["Risikotoleranz"], "en": ["risk tolerance", "risk preference", "risk appetite"], "es": ["tolerancia al riesgo"], "fr": ["tolérance au risque"], "ja": ["リスク許容度"], "ko": ["위험 감수 성향"], "ru": ["терпимость к риску"], "zh": ["风险承受度"], "zh-Hant": ["風險承受度"] } },
101
+ { "name": "preferences.privacy", "domain": "values", "synonyms": { "de": ["Datenschutzpräferenz"], "en": ["privacy preference", "data privacy", "personal privacy"], "es": ["preferencia de privacidad"], "fr": ["préférence de confidentialité"], "ja": ["プライバシー方針"], "ko": ["개인정보 선호"], "ru": ["предпочтения конфиденциальности"], "zh": ["隐私偏好"], "zh-Hant": ["隱私偏好"] } },
102
+ { "name": "preferences.sustainability", "domain": "values", "synonyms": { "de": ["Nachhaltigkeit"], "en": ["sustainability", "environmental preference", "eco friendly"], "es": ["sostenibilidad"], "fr": ["durabilité"], "ja": ["持続可能性"], "ko": ["지속 가능성"], "ru": ["устойчивое развитие"], "zh": ["可持续性"], "zh-Hant": ["永續性"] } },
103
+ { "name": "preferences.consciousness", "domain": "values", "synonyms": { "de": ["Bewusstseinstheorien"], "en": ["consciousness", "consciousness theories", "neuroscience and consciousness"], "es": ["teorías de la conciencia"], "fr": ["théories de la conscience"], "ja": ["意識の理論"], "ko": ["의식 이론"], "ru": ["теории сознания"], "zh": ["意识理论"], "zh-Hant": ["意識理論"] } },
104
+ { "name": "preferences.general", "domain": "values", "synonyms": { "de": ["allgemeine Präferenz"], "en": ["general preference", "other preference", "lifestyle"], "es": ["preferencia general"], "fr": ["préférence générale"], "ja": ["一般的な好み"], "ko": ["일반 선호"], "ru": ["общие предпочтения"], "zh": ["一般偏好"], "zh-Hant": ["一般偏好"] } },
105
+
106
+ { "name": "entities.person", "domain": "entities", "synonyms": { "de": ["Person"], "en": ["person", "manager", "teammate"], "es": ["persona"], "fr": ["personne"], "ja": ["人物"], "ko": ["인물"], "ru": ["человек"], "zh": ["人物实体"], "zh-Hant": ["人物實體"] } },
107
+ { "name": "entities.project", "domain": "entities", "synonyms": { "de": ["Projekt"], "en": ["project", "project scope"], "es": ["proyecto"], "fr": ["projet"], "ja": ["プロジェクト"], "ko": ["프로젝트"], "ru": ["проект"], "zh": ["项目实体"], "zh-Hant": ["專案實體"] } },
108
+ { "name": "entities.team", "domain": "entities", "synonyms": { "de": ["Arbeitsteam"], "en": ["team", "working group"], "es": ["equipo de trabajo"], "fr": ["équipe de travail"], "ja": ["作業チーム"], "ko": ["업무 팀"], "ru": ["рабочая команда"], "zh": ["团队实体"], "zh-Hant": ["團隊實體"] } },
109
+ { "name": "entities.organization", "domain": "entities", "synonyms": { "de": ["Organisation"], "en": ["organization", "company", "vendor"], "es": ["organización"], "fr": ["organisation"], "ja": ["組織"], "ko": ["조직"], "ru": ["организация"], "zh": ["组织实体"], "zh-Hant": ["組織實體"] } },
110
+ { "name": "entities.place", "domain": "entities", "synonyms": { "de": ["Ort"], "en": ["place", "location", "venue"], "es": ["lugar"], "fr": ["lieu"], "ja": ["場所"], "ko": ["장소"], "ru": ["место"], "zh": ["地点实体"], "zh-Hant": ["地點實體"] } },
111
+ { "name": "entities.product", "domain": "entities", "synonyms": { "de": ["Produkt"], "en": ["product", "service", "application"], "es": ["producto"], "fr": ["produit"], "ja": ["製品"], "ko": ["제품"], "ru": ["продукт"], "zh": ["产品实体"], "zh-Hant": ["產品實體"] } },
112
+ { "name": "entities.pet", "domain": "entities", "synonyms": { "de": ["Haustier"], "en": ["pet", "animal companion"], "es": ["mascota"], "fr": ["animal de compagnie"], "ja": ["ペット"], "ko": ["반려동물"], "ru": ["домашнее животное"], "zh": ["宠物实体"], "zh-Hant": ["寵物實體"] } },
113
+ { "name": "entities.business", "domain": "entities", "synonyms": { "de": ["Geschäft"], "en": ["business", "store", "restaurant"], "es": ["negocio"], "fr": ["commerce"], "ja": ["事業者"], "ko": ["사업체"], "ru": ["предприятие"], "zh": ["商家实体"], "zh-Hant": ["商家實體"] } },
114
+ { "name": "entities.event", "domain": "entities", "synonyms": { "de": ["Veranstaltung"], "en": ["event", "conference", "appointment"], "es": ["evento"], "fr": ["événement"], "ja": ["行事"], "ko": ["행사"], "ru": ["событие"], "zh": ["事件实体"], "zh-Hant": ["事件實體"] } }
115
+ ],
116
+ "section_registry_sha256": "b3da09c82eb9c3892c73ccb0c1623f22dc787a15aaefac7511767b1c010ce1b1",
117
+ "source_git_rev": "dfc5e40194c6d8087c1a0c329856e177061ecf43"
118
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "presets": {
3
+ "mem_claw/openai_gpt_5_nano": {
4
+ "resolved_path": "resolved/mem_claw/openai_gpt_5_nano.json",
5
+ "resolved_sha256": "74cb05670996e3b6f52abd76f394977840c28ce1e7c96a5103113a6c953da44c",
6
+ "source_path": "source/mem_claw/openai_gpt_5_nano.mda",
7
+ "source_sha256": "2dacdcc23465e9f50e49303bd6a6e5b94b08ab36ee85ecba9635f5a02612a31a"
8
+ },
9
+ "mem_claw/openrouter_auto": {
10
+ "resolved_path": "resolved/mem_claw/openrouter_auto.json",
11
+ "resolved_sha256": "1eb89d1bc0bf69e0b7828d4d4dec4a09e570772ad764d6f4e7d9781a68614b78",
12
+ "source_path": "source/mem_claw/openrouter_auto.mda",
13
+ "source_sha256": "99a919a214cf1d36b40bafb5b71ed9c8a836dc2644c160f04e8d9d2f098baad4"
14
+ },
15
+ "mem_claw/sno_ai_extract": {
16
+ "resolved_path": "resolved/mem_claw/sno_ai_extract.json",
17
+ "resolved_sha256": "939d6d8ffd1131430538ebff5e3b5610716ef3fcf9264feae742d899420b2b5b",
18
+ "source_path": "source/mem_claw/sno_ai_extract.mda",
19
+ "source_sha256": "51838958a73c23ef7ed465dab875b9afc62fc507d37f8bcef96815f304504ecf"
20
+ }
21
+ },
22
+ "published_at": "2026-05-19T23:09:32.589Z",
23
+ "revision": "2026-05-19T230932Z",
24
+ "schema_version": 1
25
+ }
@@ -0,0 +1,67 @@
1
+ {
2
+ "integrity": {
3
+ "algorithm": "sha256",
4
+ "digest": "sha256:4852426b6cbbfcf91dd790701de38b03e38b369b306cc27511755745fa9404b6"
5
+ },
6
+ "payload": {
7
+ "current": {
8
+ "manifest_sha256": "aa79e8d2ebaf0f1dd91da49e0aa5cc09da559b3c33ddd83e445f560d92e0b9e0",
9
+ "path": "current.json",
10
+ "revision": "2026-05-19T230932Z",
11
+ "sha256": "9f0cbe5537cbbe59978d51c65d1458481f965b29d80adc12a4fa5a0ee2944dac"
12
+ },
13
+ "files": [
14
+ {
15
+ "path": "compiled/2026-05-19T230932Z/resolved/mem_claw/openai_gpt_5_nano.json",
16
+ "role": "resolved",
17
+ "sha256": "74cb05670996e3b6f52abd76f394977840c28ce1e7c96a5103113a6c953da44c"
18
+ },
19
+ {
20
+ "path": "compiled/2026-05-19T230932Z/resolved/mem_claw/openrouter_auto.json",
21
+ "role": "resolved",
22
+ "sha256": "1eb89d1bc0bf69e0b7828d4d4dec4a09e570772ad764d6f4e7d9781a68614b78"
23
+ },
24
+ {
25
+ "path": "compiled/2026-05-19T230932Z/resolved/mem_claw/sno_ai_extract.json",
26
+ "role": "resolved",
27
+ "sha256": "939d6d8ffd1131430538ebff5e3b5610716ef3fcf9264feae742d899420b2b5b"
28
+ },
29
+ {
30
+ "path": "compiled/2026-05-19T230932Z/source/mem_claw/openai_gpt_5_nano.mda",
31
+ "role": "source",
32
+ "sha256": "2dacdcc23465e9f50e49303bd6a6e5b94b08ab36ee85ecba9635f5a02612a31a"
33
+ },
34
+ {
35
+ "path": "compiled/2026-05-19T230932Z/source/mem_claw/openrouter_auto.mda",
36
+ "role": "source",
37
+ "sha256": "99a919a214cf1d36b40bafb5b71ed9c8a836dc2644c160f04e8d9d2f098baad4"
38
+ },
39
+ {
40
+ "path": "compiled/2026-05-19T230932Z/source/mem_claw/sno_ai_extract.mda",
41
+ "role": "source",
42
+ "sha256": "51838958a73c23ef7ed465dab875b9afc62fc507d37f8bcef96815f304504ecf"
43
+ }
44
+ ],
45
+ "manifest": {
46
+ "path": "compiled/2026-05-19T230932Z/manifest.json",
47
+ "sha256": "aa79e8d2ebaf0f1dd91da49e0aa5cc09da559b3c33ddd83e445f560d92e0b9e0"
48
+ },
49
+ "published_at": "2026-05-19T23:09:32.589Z",
50
+ "revision": "2026-05-19T230932Z",
51
+ "schema": "llmix.config-registry.root",
52
+ "schema_version": 1
53
+ },
54
+ "payload_sha256": "4852426b6cbbfcf91dd790701de38b03e38b369b306cc27511755745fa9404b6",
55
+ "schema": "llmix.config-registry.root-envelope",
56
+ "schema_version": 1,
57
+ "signatures": [
58
+ {
59
+ "algorithm": "ed25519",
60
+ "key-id": "did:web:www.sno.ai#sno-mem-openclaw-release",
61
+ "payload-digest": "sha256:4852426b6cbbfcf91dd790701de38b03e38b369b306cc27511755745fa9404b6",
62
+ "payload-type": "application/vnd.snoai.llmix.registry-root+json",
63
+ "signature": "KrV3d0dQHcn/4MF1NPvv7+XsxQUbTCSBVQYLzFj9KNWa0FZrtpgmLRCbmvaSGY89xkrEz1cBwLgdIyemTrO4Dg==",
64
+ "signer": "did-web:www.sno.ai"
65
+ }
66
+ ]
67
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "LLMix preset mem_claw/openai_gpt_5_nano",
3
+ "model": "gpt-5-nano",
4
+ "provider": "openai"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "LLMix preset mem_claw/openrouter_auto",
3
+ "model": "openrouter/auto",
4
+ "provider": "openrouter"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "LLMix preset mem_claw/sno_ai_extract",
3
+ "model": "qwen3.6-27b-extract",
4
+ "provider": "sno-gpu"
5
+ }
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: llmix-mem-claw-openai-gpt-5-nano
3
+ description: LLMix preset mem_claw/openai_gpt_5_nano
4
+ metadata:
5
+ snoai-llmix:
6
+ module: mem_claw
7
+ preset: openai_gpt_5_nano
8
+ common:
9
+ provider: openai
10
+ model: gpt-5-nano
11
+ integrity:
12
+ algorithm: sha256
13
+ digest: sha256:7632726e5cfb0ccdbadb3cb168d7488e70b2ac83418faf6002bab310cf7031d0
14
+ signatures:
15
+ - signer: did-web:www.sno.ai
16
+ key-id: did:web:www.sno.ai#sno-mem-openclaw-release
17
+ payload-digest: sha256:7632726e5cfb0ccdbadb3cb168d7488e70b2ac83418faf6002bab310cf7031d0
18
+ algorithm: ed25519
19
+ signature: uEKK1U1UNX4hlNBnfY3BRdbH+nL1mm3l1Z0i6R93pviDGrTu8DqpL1JCkp/YardeMXQSaf9WGRnp7mESehIxBg==
20
+ payload-type: application/vnd.mda.integrity+json
21
+ ---
22
+ # mem_claw/openai_gpt_5_nano
23
+
24
+ OpenAI GPT-5 Nano preset for Sno Memory for OpenClaw generative LLM calls.
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: llmix-mem-claw-openrouter-auto
3
+ description: LLMix preset mem_claw/openrouter_auto
4
+ metadata:
5
+ snoai-llmix:
6
+ module: mem_claw
7
+ preset: openrouter_auto
8
+ common:
9
+ provider: openrouter
10
+ model: openrouter/auto
11
+ integrity:
12
+ algorithm: sha256
13
+ digest: sha256:d8b5b5f2e1bcafe4aa5ab122e7d8815ebd2f964985457bb1014c6c8c255cf5c3
14
+ signatures:
15
+ - signer: did-web:www.sno.ai
16
+ key-id: did:web:www.sno.ai#sno-mem-openclaw-release
17
+ payload-digest: sha256:d8b5b5f2e1bcafe4aa5ab122e7d8815ebd2f964985457bb1014c6c8c255cf5c3
18
+ algorithm: ed25519
19
+ signature: 6fGDyu/7kJFhSsoxUvOja7X02lhg4s2buh1jXl5j1yzvHYmY4NJua+8SZ0AA8O95RXnXSVRhmfnQdrPL/8YxDg==
20
+ payload-type: application/vnd.mda.integrity+json
21
+ ---
22
+ # mem_claw/openrouter_auto
23
+
24
+ OpenRouter auto-routing preset for Sno Memory for OpenClaw generative LLM calls.
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: llmix-mem-claw-sno-ai-extract
3
+ description: LLMix preset mem_claw/sno_ai_extract
4
+ metadata:
5
+ snoai-llmix:
6
+ module: mem_claw
7
+ preset: sno_ai_extract
8
+ common:
9
+ provider: sno-gpu
10
+ model: qwen3.6-27b-extract
11
+ integrity:
12
+ algorithm: sha256
13
+ digest: sha256:0adf1a63dbcdcf172928e343264a5e8d4401c035a19f11d16c55add6ca98236e
14
+ signatures:
15
+ - signer: did-web:www.sno.ai
16
+ key-id: did:web:www.sno.ai#sno-mem-openclaw-release
17
+ payload-digest: sha256:0adf1a63dbcdcf172928e343264a5e8d4401c035a19f11d16c55add6ca98236e
18
+ algorithm: ed25519
19
+ signature: d8JrzuYYLSYNcxAb2ZD8Wxwo0MeR1TXhRGCHru1/QRhFn1O7hEzSsVub2fkDXWjRZJ2eg4zVMYNAnNbejO+ZDg==
20
+ payload-type: application/vnd.mda.integrity+json
21
+ ---
22
+ # mem_claw/sno_ai_extract
23
+
24
+ Sno AI extract preset for Sno Memory for OpenClaw generative LLM calls.
@@ -0,0 +1,43 @@
1
+ {
2
+ "presets": {
3
+ "mem_claw/openai_gpt_5_nano": {
4
+ "resolved_path": "resolved/mem_claw/openai_gpt_5_nano.json",
5
+ "resolved_sha256": "74cb05670996e3b6f52abd76f394977840c28ce1e7c96a5103113a6c953da44c",
6
+ "source_path": "source/mem_claw/openai_gpt_5_nano.mda",
7
+ "source_sha256": "2dacdcc23465e9f50e49303bd6a6e5b94b08ab36ee85ecba9635f5a02612a31a"
8
+ },
9
+ "mem_claw/openrouter_auto": {
10
+ "resolved_path": "resolved/mem_claw/openrouter_auto.json",
11
+ "resolved_sha256": "1eb89d1bc0bf69e0b7828d4d4dec4a09e570772ad764d6f4e7d9781a68614b78",
12
+ "source_path": "source/mem_claw/openrouter_auto.mda",
13
+ "source_sha256": "99a919a214cf1d36b40bafb5b71ed9c8a836dc2644c160f04e8d9d2f098baad4"
14
+ },
15
+ "mem_claw/sno_ai_extract": {
16
+ "resolved_path": "resolved/mem_claw/sno_ai_extract.json",
17
+ "resolved_sha256": "939d6d8ffd1131430538ebff5e3b5610716ef3fcf9264feae742d899420b2b5b",
18
+ "source_path": "source/mem_claw/sno_ai_extract.mda",
19
+ "source_sha256": "51838958a73c23ef7ed465dab875b9afc62fc507d37f8bcef96815f304504ecf"
20
+ },
21
+ "mem_claw/sno_conflict_verdict": {
22
+ "resolved_path": "resolved/mem_claw/sno_conflict_verdict.json",
23
+ "resolved_sha256": "2db5c1b65503208396442ab4e9d9710369b646ca526172f4ea129d253e056192",
24
+ "source_path": "source/mem_claw/sno_conflict_verdict.mda",
25
+ "source_sha256": "a236876afa279e397b927561b0f173e73aa96a4c2c07ab3e68bae48cf5a644b4"
26
+ },
27
+ "mem_claw/sno_extract_chat": {
28
+ "resolved_path": "resolved/mem_claw/sno_extract_chat.json",
29
+ "resolved_sha256": "057e4e483cd1313696821aabe3842a4e9754736b3be6f448cade17cdfcd2cc54",
30
+ "source_path": "source/mem_claw/sno_extract_chat.mda",
31
+ "source_sha256": "4f195b285520a2dbd4f31ac7d356bdc640b186b06fcd229314491b1bb24cf09f"
32
+ },
33
+ "mem_claw/sno_extract_profile": {
34
+ "resolved_path": "resolved/mem_claw/sno_extract_profile.json",
35
+ "resolved_sha256": "bcb10fbb54bad90c7c92ac5127d33fe7a8a72f344c4cf285c187f89af6a07fca",
36
+ "source_path": "source/mem_claw/sno_extract_profile.mda",
37
+ "source_sha256": "85f51cab6fe1d23ae529832174e10046d184b7bffca970fac9f01d6394bb2460"
38
+ }
39
+ },
40
+ "published_at": "2026-07-21T00:13:11.772Z",
41
+ "revision": "2026-07-21T001311Z",
42
+ "schema_version": 1
43
+ }