@snoai/memory 1.2.4 → 1.2.5

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 (127) hide show
  1. package/README.md +1 -1
  2. package/dist/{access-tracker-D20cgP0X.d.ts → access-tracker-gzQVC6ur.d.ts} +3 -3
  3. package/dist/{adapter-RxQ9CJ7f.js → adapter-CG-UbOjU.js} +1 -0
  4. package/dist/{adapter-Dx92oSuo.d.ts → adapter-CMMmIzGe.d.ts} +2 -2
  5. package/dist/{atomic-memory-extraction-BWYEdBhl.js → atomic-memory-extraction-Dj5LX-e7.js} +26 -11
  6. package/dist/{atomic-memory-extraction-Dz-fe3h0.d.ts → atomic-memory-extraction-vz2gIrqC.d.ts} +4 -4
  7. package/dist/{b-profile-section-dictionary-provider-D-VJRSOs.d.ts → b-profile-section-dictionary-provider-YawRtzNC.d.ts} +1 -1
  8. package/dist/{capture-policy-detector-D7rPVLFp.d.ts → capture-policy-detector-B9Gzx-1V.d.ts} +1 -1
  9. package/dist/client.d.ts +1 -1
  10. package/dist/client.js +19 -2
  11. package/dist/{coding-skin-C7gwOKsc.js → coding-skin-_Qu3INZD.js} +37 -2
  12. package/dist/coding-skin.d.ts +37 -3
  13. package/dist/coding-skin.js +3 -3
  14. package/dist/{config-D3Hc1__G.js → config-BCZRhUvW.js} +2 -1
  15. package/dist/{derived-suppression-cache-BGcKAg2p.d.ts → derived-suppression-cache-CJuzDpoR.d.ts} +1 -1
  16. package/dist/diagnostic-encoder.js +1 -1
  17. package/dist/{index-CgqHi0Rw.d.ts → index-Dg3p5cmw.d.ts} +2 -2
  18. package/dist/index.d.ts +9 -9
  19. package/dist/index.js +6 -6
  20. package/dist/internal/config/plugin-config-schema.d.ts +1 -1
  21. package/dist/internal/config/plugin-config-schema.js +1 -1
  22. package/dist/internal/config/product-mode.d.ts +1 -1
  23. package/dist/internal/config/settings.d.ts +1 -1
  24. package/dist/internal/config/settings.js +1 -1
  25. package/dist/internal/config/skin-defaults.d.ts +3 -1
  26. package/dist/internal/config/skin-defaults.js +3 -1
  27. package/dist/internal/contract/profile.d.ts +1 -1
  28. package/dist/internal/contract/routes.d.ts +1 -1
  29. package/dist/internal/engine/bindings/memory-cli-shared.d.ts +4 -4
  30. package/dist/internal/engine/bindings/memory-store-tool.js +1 -1
  31. package/dist/internal/engine/bindings/memory-tool-access.d.ts +1 -1
  32. package/dist/internal/engine/bindings/memory-tool-results.d.ts +1 -1
  33. package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +5 -5
  34. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +4 -4
  35. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +1 -1
  36. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +4 -4
  37. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +1 -1
  38. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +5 -5
  39. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +2 -2
  40. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +2 -2
  41. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +3 -3
  42. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +1 -1
  43. package/dist/internal/engine/extraction/atomic-memory-extraction.d.ts +1 -1
  44. package/dist/internal/engine/extraction/atomic-memory-extraction.js +1 -1
  45. package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.d.ts +1 -1
  46. package/dist/internal/engine/extraction/b-profile-section-rekey.d.ts +5 -5
  47. package/dist/internal/engine/extraction/capture-policy-detector.d.ts +1 -1
  48. package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +2 -2
  49. package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +1 -1
  50. package/dist/internal/engine/observability/adapter.d.ts +1 -1
  51. package/dist/internal/engine/observability/adapter.js +1 -1
  52. package/dist/internal/engine/observability/memory-snapshot.d.ts +1 -1
  53. package/dist/internal/engine/observability/observable-embedder.d.ts +1 -1
  54. package/dist/internal/engine/observability/observable-llm-client.d.ts +1 -1
  55. package/dist/internal/engine/observability/observable-memory-store.d.ts +1 -1
  56. package/dist/internal/engine/observability/observable-memory-store.js +1 -1
  57. package/dist/internal/engine/observability/observable-retriever.d.ts +1 -1
  58. package/dist/internal/engine/observability/runtime-diagnostics.d.ts +1 -1
  59. package/dist/internal/engine/observability/runtime-diagnostics.js +1 -1
  60. package/dist/internal/engine/operations/memory-tier-promoter.d.ts +1 -1
  61. package/dist/internal/engine/operations/runtime-audit-log.d.ts +2 -2
  62. package/dist/internal/engine/provider/provider-registration.d.ts +4 -4
  63. package/dist/internal/engine/provider/provider-row-renderer.d.ts +1 -1
  64. package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +1 -1
  65. package/dist/internal/engine/reflection/reflection-command-hooks.js +1 -1
  66. package/dist/internal/engine/reflection/reflection-deps.d.ts +1 -1
  67. package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +1 -1
  68. package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +1 -1
  69. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +1 -1
  70. package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +3 -3
  71. package/dist/internal/engine/retrieval/access-tracker.d.ts +1 -1
  72. package/dist/internal/engine/retrieval/retriever.d.ts +1 -1
  73. package/dist/internal/engine/shared/memory-kind-policy.d.ts +1 -1
  74. package/dist/internal/engine/shared/paths.d.ts +2 -2
  75. package/dist/internal/engine/shared/types.d.ts +2 -2
  76. package/dist/internal/engine/shared/types.js +1 -1
  77. package/dist/internal/engine/telemetry/observe-ledger.d.ts +1 -1
  78. package/dist/internal/engine/telemetry/observe-ledger.js +1 -1
  79. package/dist/internal/model/llm-client.d.ts +2 -2
  80. package/dist/internal/model/llm-mode-routing.d.ts +1 -1
  81. package/dist/internal/store/maintenance.d.ts +2 -2
  82. package/dist/internal/store/maintenance.js +24 -13
  83. package/dist/internal/store/store.d.ts +3 -3
  84. package/dist/internal/store/store.js +2 -2
  85. package/dist/{llm-client-CtNzuoRc.d.ts → llm-client-BdS_IKvU.d.ts} +1 -1
  86. package/dist/{log-site-catalog.generated-DoCYZhJF.js → log-site-catalog.generated-6Yhsft4u.js} +98 -98
  87. package/dist/log-site-catalog.json +1 -1
  88. package/dist/{memory-kind-policy-iKHUsuwu.d.ts → memory-kind-policy-cIq80koH.d.ts} +1 -1
  89. package/dist/{memory-metadata-codec-n-CFKYjn.d.ts → memory-metadata-codec-DqmbQiE6.d.ts} +1 -1
  90. package/dist/{memory-runtime-CVbnnCfB.js → memory-runtime-CvxA1mP0.js} +163 -132
  91. package/dist/{memory-snapshot-DhtNqVPs.d.ts → memory-snapshot-DBcnAnOn.d.ts} +2 -2
  92. package/dist/{memory-store-base-QoyY3sxH.d.ts → memory-store-base-5tTeqT7l.d.ts} +2 -2
  93. package/dist/{memory-temporality-classifier-Bon6IpEm.d.ts → memory-temporality-classifier-DztzPNxV.d.ts} +1 -1
  94. package/dist/{memory-tier-promoter-DeJbiH1w.d.ts → memory-tier-promoter-Du9gPBxH.d.ts} +1 -1
  95. package/dist/memory-tool-dependencies-CrbtLLjj.d.ts +14 -0
  96. package/dist/{observable-embedder-B5ZLQv4-.d.ts → observable-embedder-B7Si8IxG.d.ts} +1 -1
  97. package/dist/{observable-llm-client-D65rHe8y.d.ts → observable-llm-client-BD0_NE26.d.ts} +3 -3
  98. package/dist/{observable-memory-store-CAdLg_OF.d.ts → observable-memory-store-CHC6Dy1d.d.ts} +4 -4
  99. package/dist/{observable-retriever-DPPwzSY1.d.ts → observable-retriever-CTkpsSKo.d.ts} +5 -5
  100. package/dist/paths-BNJZ-i4I.d.ts +1 -0
  101. package/dist/{plugin-config-observe-schema-BORZ9_7q.js → plugin-config-observe-schema-ue9XxUj_.js} +2 -1
  102. package/dist/{plugin-config-schema-DmbzYMYe.d.ts → plugin-config-schema-B-Zve3i5.d.ts} +1 -1
  103. package/dist/{plugin-config-schema-CC-2N9Xw.js → plugin-config-schema-hIfZTELX.js} +1 -1
  104. package/dist/{profile-C2e9mF3H.d.ts → profile-8bUJR11P.d.ts} +1 -1
  105. package/dist/{profile-section-writer-qPqgOH-a.js → profile-section-writer-DYcoa4ld.js} +1 -1
  106. package/dist/{reflection-command-hooks-xeMMA4Ik.d.ts → reflection-command-hooks-BkbZyh-G.d.ts} +4 -4
  107. package/dist/{reflection-command-hooks-Ctumt-yD.js → reflection-command-hooks-_AiaIqap.js} +1 -1
  108. package/dist/{reflection-deps-Btr849dc.d.ts → reflection-deps-r8wTzFMJ.d.ts} +2 -2
  109. package/dist/{reflection-embedded-generator-W6MWE9e3.d.ts → reflection-embedded-generator-BAsTsaVA.d.ts} +3 -3
  110. package/dist/{reflection-injection-hooks-BR-bvDmD.d.ts → reflection-injection-hooks-Cn-VUTIN.d.ts} +4 -4
  111. package/dist/{reflection-lifecycle-hooks-DnQp5cvp.d.ts → reflection-lifecycle-hooks-rCqXcF1o.d.ts} +3 -3
  112. package/dist/{rem-batch-executor-C7iItB5x.js → rem-batch-executor-Dpysz3or.js} +1 -1
  113. package/dist/{rem-trigger-BEIQodYk.js → rem-trigger-DiHK3BKP.js} +39 -13
  114. package/dist/{retriever-DgVRB1Zq.d.ts → retriever-CI0r-RAK.d.ts} +6 -6
  115. package/dist/{runtime-audit-log-DNPzk6Wy.d.ts → runtime-audit-log-B_tsjFZl.d.ts} +1 -1
  116. package/dist/{server-DyWtDUHh.js → server-0KpYuZ69.js} +9 -15
  117. package/dist/sidecar/main.js +2 -2
  118. package/dist/sno-station-mem-runtime-dependencies-eO6jFEYJ.d.ts +31 -0
  119. package/dist/{sno-station-mem-runtime-dependencies-D47FAvbm.js → sno-station-mem-runtime-dependencies-jmuWbSfR.js} +2 -2
  120. package/dist/{store-ByUy8ukD.js → store-B81Qk2RF.js} +12 -1
  121. package/dist/{store-DmFEfRbK.d.ts → store-h8QmkTwl.d.ts} +8 -2
  122. package/dist/{strategy-hook-runner-BdG_ktbm.d.ts → strategy-hook-runner-C3WFg1oP.d.ts} +7 -7
  123. package/dist/{types-CCPXb_iJ.d.ts → types-Dcr6GKHy.d.ts} +1 -1
  124. package/package.json +3 -3
  125. package/dist/memory-tool-dependencies-CDvVqE6_.d.ts +0 -14
  126. package/dist/paths-AoHWqjCM.d.ts +0 -1
  127. package/dist/sno-station-mem-runtime-dependencies-EbtwfQh0.d.ts +0 -31
@@ -1,5 +1,5 @@
1
- import { t as PluginConfig } from "./plugin-config-schema-DmbzYMYe.js";
2
- import "./types-CCPXb_iJ.js";
1
+ import { t as PluginConfig } from "./plugin-config-schema-B-Zve3i5.js";
2
+ import "./types-Dcr6GKHy.js";
3
3
  import { r as SqliteDatabaseLike } from "./sqlite-runtime-L_ywirTm.js";
4
4
  //#region src/engine/observability/memory-snapshot.d.ts
5
5
  type SnapshotReason = "startup" | "session_end";
@@ -1,10 +1,10 @@
1
- import { _ as MemoryLane, b as MemoryTier, g as MemoryEntry, h as MemoryCategory, r as AggregationQuery, v as MemoryMetadata, y as MemorySearchResult } from "./types-CCPXb_iJ.js";
1
+ import { _ as MemoryLane, b as MemoryTier, g as MemoryEntry, h as MemoryCategory, r as AggregationQuery, v as MemoryMetadata, y as MemorySearchResult } from "./types-Dcr6GKHy.js";
2
2
  import "./index-DL8AVj0Z.js";
3
3
  import { t as Embedder } from "./embedding-provider-client-vynZMuit.js";
4
4
  import { K as RemFacetPolicy } from "./index-BO4RU_mc.js";
5
5
  import { T as WriteTextVersionInput, h as RemMutationResult } from "./types-pVomjzqR.js";
6
6
  import { a as StorageError } from "./errors-CeVRxf9V.js";
7
- import { r as WriterAuthority } from "./memory-kind-policy-iKHUsuwu.js";
7
+ import { r as WriterAuthority } from "./memory-kind-policy-cIq80koH.js";
8
8
  import { t as DrizzleDB } from "./connection-3IVXpuPE.js";
9
9
  import { r as SqliteDatabaseLike } from "./sqlite-runtime-L_ywirTm.js";
10
10
  import { n as MemoryTelemetryKeySet, t as MemoryTelemetryReceiptService } from "./memory-telemetry-receipts-MAJecvXQ.js";
@@ -1,4 +1,4 @@
1
- import { h as MemoryCategory, w as InsightMetadata } from "./types-CCPXb_iJ.js";
1
+ import { h as MemoryCategory, w as InsightMetadata } from "./types-Dcr6GKHy.js";
2
2
  //#region src/engine/extraction/memory-temporality-classifier.d.ts
3
3
  type TemporalType = "static" | "dynamic";
4
4
  type TemporalResolutionStatus = "resolved" | "unresolved" | "static";
@@ -1,4 +1,4 @@
1
- import { b as MemoryTier, l as DecayScore } from "./types-CCPXb_iJ.js";
1
+ import { b as MemoryTier, l as DecayScore } from "./types-Dcr6GKHy.js";
2
2
  //#region src/engine/operations/memory-tier-promoter.d.ts
3
3
  interface TierConfig {
4
4
  /** Minimum access count for Core promotion (default: 10) */
@@ -0,0 +1,14 @@
1
+ import "./types-Dcr6GKHy.js";
2
+ import "./index-DL8AVj0Z.js";
3
+ import "./embedding-provider-client-vynZMuit.js";
4
+ import "./retriever-CI0r-RAK.js";
5
+ import "./memory-metadata-codec-DqmbQiE6.js";
6
+ import "./store-h8QmkTwl.js";
7
+ import "./capture-policy-detector-B9Gzx-1V.js";
8
+ import "./memory-temporality-classifier-DztzPNxV.js";
9
+ import "./runtime-audit-log-B_tsjFZl.js";
10
+ import { z as z$1 } from "zod";
11
+ import "@snoai/chunking";
12
+ import "@sinclair/typebox";
13
+ import "async-mutex";
14
+ export { z$1 as t };
@@ -1,4 +1,4 @@
1
- import { n as PluginObservability } from "./adapter-Dx92oSuo.js";
1
+ import { n as PluginObservability } from "./adapter-CMMmIzGe.js";
2
2
  import { r as EmbeddingConfig, t as Embedder } from "./embedding-provider-client-vynZMuit.js";
3
3
  //#region src/engine/observability/observable-embedder.d.ts
4
4
  type SessionUuidProvider = () => string | undefined;
@@ -1,6 +1,6 @@
1
- import { i as LlmClientConfig, r as LlmClient, s as MemoryLlmRequest } from "./plugin-config-schema-DmbzYMYe.js";
2
- import { n as PluginObservability } from "./adapter-Dx92oSuo.js";
3
- import "./llm-client-CtNzuoRc.js";
1
+ import { i as LlmClientConfig, r as LlmClient, s as MemoryLlmRequest } from "./plugin-config-schema-B-Zve3i5.js";
2
+ import { n as PluginObservability } from "./adapter-CMMmIzGe.js";
3
+ import "./llm-client-BdS_IKvU.js";
4
4
  //#region src/engine/observability/observable-llm-client.d.ts
5
5
  type SessionUuidProvider = () => string | undefined;
6
6
  declare class ObservableLlmClient implements LlmClient {
@@ -1,8 +1,8 @@
1
- import { b as MemoryTier, g as MemoryEntry, v as MemoryMetadata, y as MemorySearchResult } from "./types-CCPXb_iJ.js";
2
- import { n as PluginObservability } from "./adapter-Dx92oSuo.js";
1
+ import { b as MemoryTier, g as MemoryEntry, v as MemoryMetadata, y as MemorySearchResult } from "./types-Dcr6GKHy.js";
2
+ import { n as PluginObservability } from "./adapter-CMMmIzGe.js";
3
3
  import { r as EmbeddingConfig } from "./embedding-provider-client-vynZMuit.js";
4
- import { C as MemoryStore, F as TaskLifecycleBatchWriteResult, M as SupersedeClose, N as SupersedePreserveExisting, P as TaskLifecycleBatchWriteInput, at as ListOptions, dt as RecordUnplacedCandidateResult, f as AtomicExtractionWriteResult, ft as SearchOptions, gt as StoreResult, ht as StoreInput, j as SupersedeActiveFactGuard, mt as StoreConfig, ot as MemoryRow, rt as ChunkSearchResult, u as AtomicExtractionWriteInput, ut as RecordUnplacedCandidateInput, w as MemoryStoreInternals, yt as UpdateChanges } from "./memory-store-base-QoyY3sxH.js";
5
- import "./store-DmFEfRbK.js";
4
+ import { C as MemoryStore, F as TaskLifecycleBatchWriteResult, M as SupersedeClose, N as SupersedePreserveExisting, P as TaskLifecycleBatchWriteInput, at as ListOptions, dt as RecordUnplacedCandidateResult, f as AtomicExtractionWriteResult, ft as SearchOptions, gt as StoreResult, ht as StoreInput, j as SupersedeActiveFactGuard, mt as StoreConfig, ot as MemoryRow, rt as ChunkSearchResult, u as AtomicExtractionWriteInput, ut as RecordUnplacedCandidateInput, w as MemoryStoreInternals, yt as UpdateChanges } from "./memory-store-base-5tTeqT7l.js";
5
+ import "./store-h8QmkTwl.js";
6
6
  //#region src/engine/observability/observable-memory-store.d.ts
7
7
  type SessionUuidProvider = () => string | undefined;
8
8
  declare class ObservableMemoryStore extends MemoryStore {
@@ -1,9 +1,9 @@
1
- import { x as RetrievalResult } from "./types-CCPXb_iJ.js";
2
- import { n as PluginObservability } from "./adapter-Dx92oSuo.js";
1
+ import { x as RetrievalResult } from "./types-Dcr6GKHy.js";
2
+ import { n as PluginObservability } from "./adapter-CMMmIzGe.js";
3
3
  import { r as EmbeddingConfig, t as Embedder } from "./embedding-provider-client-vynZMuit.js";
4
- import { d as RetrievalConfig, f as RetrievalContext, t as MemoryRetriever } from "./retriever-DgVRB1Zq.js";
5
- import { C as MemoryStore } from "./memory-store-base-QoyY3sxH.js";
6
- import "./store-DmFEfRbK.js";
4
+ import { d as RetrievalConfig, f as RetrievalContext, t as MemoryRetriever } from "./retriever-CI0r-RAK.js";
5
+ import { C as MemoryStore } from "./memory-store-base-5tTeqT7l.js";
6
+ import "./store-h8QmkTwl.js";
7
7
  //#region src/engine/observability/observable-retriever.d.ts
8
8
  type SessionUuidProvider = () => string | undefined;
9
9
  type RetrievalTraceResult = Awaited<ReturnType<MemoryRetriever["retrieveWithTrace"]>>;
@@ -0,0 +1 @@
1
+ import "./profile-8bUJR11P.js";
@@ -6,7 +6,8 @@ const AGENT_IDS = [
6
6
  PERSISTED_PROVIDER_SYSTEM,
7
7
  FIXED_PROTOCOL_VALUE_70,
8
8
  FIXED_PROTOCOL_VALUE_71,
9
- FIXED_PROTOCOL_VALUE_72
9
+ FIXED_PROTOCOL_VALUE_72,
10
+ "cursor"
10
11
  ];
11
12
  const observeAgentIdSchema = z.enum(AGENT_IDS, { error: () => `observe.agentId must be one of ${AGENT_IDS.join(", ")}` });
12
13
  /** The observe agent id a skin reports under; a skin id outside the SDK's set is a hard error. */
@@ -306,7 +306,7 @@ declare const memoryReflectionConfigSchema: z.ZodType<{
306
306
  }, unknown>;
307
307
  //#endregion
308
308
  //#region config/plugin-config-observe-schema.d.ts
309
- declare const AGENT_IDS: readonly [typeof PERSISTED_PROVIDER_SYSTEM, typeof FIXED_PROTOCOL_VALUE_70, typeof FIXED_PROTOCOL_VALUE_71, typeof FIXED_PROTOCOL_VALUE_72];
309
+ declare const AGENT_IDS: readonly [typeof PERSISTED_PROVIDER_SYSTEM, typeof FIXED_PROTOCOL_VALUE_70, typeof FIXED_PROTOCOL_VALUE_71, typeof FIXED_PROTOCOL_VALUE_72, "cursor"];
310
310
  declare const observeConfigSchema: z.ZodType<{
311
311
  enabled: boolean;
312
312
  baseUrl: string;
@@ -2,7 +2,7 @@ import { DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH, DEFAULT_BM25_WEIGHT, DEFAULT_REFL
2
2
  import { SUPPORTED_LOCALES } from "./internal/engine/i18n/locales.js";
3
3
  import { $ as FIXED_MEMORY_SNO_EXTRACT_PROFILE, Q as FIXED_MEMORY_SNO_EXTRACT_CHAT, X as FIXED_MEMORY_SNO_AI_EXTRACT, Z as FIXED_MEMORY_SNO_CONFLICT_VERDICT } from "./signed-registry-constants-yq3DlG3B.js";
4
4
  import { DEFAULT_MODEL_MODE, PRODUCT_MODES, modelCallsConfigSchema, remEnhancedConfigSchema } from "./internal/config/product-mode.js";
5
- import { n as observeConfigSchema } from "./plugin-config-observe-schema-BORZ9_7q.js";
5
+ import { n as observeConfigSchema } from "./plugin-config-observe-schema-ue9XxUj_.js";
6
6
  import { z } from "zod";
7
7
  import { createLogger } from "@snoai/utils/logger";
8
8
  //#region config/session-strategy.ts
@@ -1,4 +1,4 @@
1
- import { b as Settings } from "./plugin-config-schema-DmbzYMYe.js";
1
+ import { b as Settings } from "./plugin-config-schema-B-Zve3i5.js";
2
2
  //#region src/contract/profile.d.ts
3
3
  declare function getStateDir(defaultStateDir?: string): string;
4
4
  declare function getSettingsPath(): string;
@@ -6,7 +6,7 @@ import { resolveLlmRoute } from "./internal/model/llm-mode-routing.js";
6
6
  import { boundSectionContent, buildIndexedText } from "./internal/engine/extraction/extraction-text-sanitizer.js";
7
7
  import { d as runWithMutationAttempt, i as currentMutationAttemptId } from "./runtime-audit-log-BCeujlEp.js";
8
8
  import { adapterAViewFromRecord, orderAdapterAPair, parseAdapterAChatVerdict, prospectiveProfileView, renderAdapterAChatPrompt, renderAdapterAPrompt } from "./internal/engine/rem/index.js";
9
- import { C as TaskLifecycleStaleResolutionError, a as resolveTaskLifecycle, c as buildTaskLifecycleCommandClaim, i as findUniqueActiveTaskByDescription, l as resolveTaskLifecycleEffectiveTime, n as acceptsTaskLifecycleJudgment, o as taskLifecycleCandidateSetVersion, r as buildTaskLifecycleCandidateSet, s as admitTaskLifecycleAssertion, x as StaleSupersedeTargetError } from "./store-ByUy8ukD.js";
9
+ import { S as StaleSupersedeTargetError, a as resolveTaskLifecycle, c as buildTaskLifecycleCommandClaim, i as findUniqueActiveTaskByDescription, l as resolveTaskLifecycleEffectiveTime, n as acceptsTaskLifecycleJudgment, o as taskLifecycleCandidateSetVersion, r as buildTaskLifecycleCandidateSet, s as admitTaskLifecycleAssertion, w as TaskLifecycleStaleResolutionError } from "./store-B81Qk2RF.js";
10
10
  import { o as canonicalizeProfileSectionName, r as recordTokenCounter } from "./memory-store-write-validation-B_hDG2zf.js";
11
11
  import { canExtractorWrite } from "./internal/engine/shared/memory-kind-policy.js";
12
12
  import { resolveHookAgentId } from "./internal/engine/bindings/sno-station-mem-runtime-mode.js";
@@ -1,8 +1,8 @@
1
- import { t as PluginConfig } from "./plugin-config-schema-DmbzYMYe.js";
2
- import "./types-CCPXb_iJ.js";
1
+ import { t as PluginConfig } from "./plugin-config-schema-B-Zve3i5.js";
2
+ import "./types-Dcr6GKHy.js";
3
3
  import { n as createErrorSignalTracker } from "./error-signals-D8_3vYu4.js";
4
- import { n as ReflectionDerivedCache, t as ReflectionDerivedSuppressionCache } from "./derived-suppression-cache-BGcKAg2p.js";
5
- import { t as ReflectionDeps } from "./reflection-deps-Btr849dc.js";
4
+ import { n as ReflectionDerivedCache, t as ReflectionDerivedSuppressionCache } from "./derived-suppression-cache-CJuzDpoR.js";
5
+ import { t as ReflectionDeps } from "./reflection-deps-r8wTzFMJ.js";
6
6
  //#region src/engine/reflection/reflection-command-hooks.d.ts
7
7
  declare function createRunMemoryReflection(params: ReflectionCommandParams): (event: {
8
8
  sessionKey: string;
@@ -8,7 +8,7 @@ import { pickLlmRoutingConfig } from "./internal/model/llm-mode-routing.js";
8
8
  import { appendSelfImprovementEntry } from "./internal/engine/operations/learning-file-maintenance.js";
9
9
  import { getSnoStationMemDataDir } from "./internal/store/data-paths.js";
10
10
  import { resolveHookAgentId } from "./internal/engine/bindings/sno-station-mem-runtime-mode.js";
11
- import { n as createRetireByNameRunBudget, r as runProfileSectionUpdate } from "./profile-section-writer-qPqgOH-a.js";
11
+ import { n as createRetireByNameRunBudget, r as runProfileSectionUpdate } from "./profile-section-writer-DYcoa4ld.js";
12
12
  import { a as generateReflectionText, c as shouldSkipReflectionMessage, l as writeReflectionToFilesystem, s as readSessionConversationWithResetFallback, u as extractTextContent } from "./daily-log-generator-CH_KuWHs.js";
13
13
  import { a as resolveWorkspaceDirFromEvent, f as setReflectionDerivedCacheEntry, l as isSessionBoundaryReflectionAction, n as createReflectionGenerator, o as DEFAULT_REFLECTION_BOUNDARY_DERIVED_SUPPRESSION_MS, t as DEFAULT_MEMORY_LLM_CONFIG, u as setReflectionDerivedSuppression } from "./reflection-embedded-generator-B5K0O1sJ.js";
14
14
  import { i as buildReflectionMappedMetadata, n as createReflectionEventId, o as extractInjectableReflectionMappedMemoryItems, r as buildReflectionAntiPatternSignature, s as extractReflectionLearningGovernanceCandidates, t as storeReflectionEntries } from "./memory-entry-projector-DHo8jH10.js";
@@ -1,7 +1,7 @@
1
1
  import { n as AgentLlmPort } from "./agent-llm-port-DY2290EK.js";
2
2
  import { n as createEmbedder } from "./embedding-provider-client-vynZMuit.js";
3
- import { C as MemoryStore } from "./memory-store-base-QoyY3sxH.js";
4
- import "./store-DmFEfRbK.js";
3
+ import { C as MemoryStore } from "./memory-store-base-5tTeqT7l.js";
4
+ import "./store-h8QmkTwl.js";
5
5
  import { r as MemoryTelemetryUsageOutbox } from "./memory-telemetry-outbox-ddTdImt7.js";
6
6
  import { n as createScopePolicy } from "./memory-scope-policy-1gg5QlWZ.js";
7
7
  //#region src/engine/reflection/reflection-deps.d.ts
@@ -1,9 +1,9 @@
1
- import { p as LlmRoutingConfig, t as PluginConfig } from "./plugin-config-schema-DmbzYMYe.js";
2
- import "./types-CCPXb_iJ.js";
1
+ import { p as LlmRoutingConfig, t as PluginConfig } from "./plugin-config-schema-B-Zve3i5.js";
2
+ import "./types-Dcr6GKHy.js";
3
3
  import { n as AgentLlmPort } from "./agent-llm-port-DY2290EK.js";
4
4
  import { n as ReflectionGenerator } from "./daily-log-generator-CsQPHl4A.js";
5
5
  import { n as createErrorSignalTracker } from "./error-signals-D8_3vYu4.js";
6
- import { n as ReflectionDerivedCache, t as ReflectionDerivedSuppressionCache } from "./derived-suppression-cache-BGcKAg2p.js";
6
+ import { n as ReflectionDerivedCache, t as ReflectionDerivedSuppressionCache } from "./derived-suppression-cache-CJuzDpoR.js";
7
7
  //#region src/engine/reflection/reflection-embedded-generator.d.ts
8
8
  declare const DEFAULT_MEMORY_LLM_CONFIG: NonNullable<PluginConfig["extraction"]["llm"]>;
9
9
  declare function isInternalReflectionSessionKey(sessionKey: unknown): boolean;
@@ -1,10 +1,10 @@
1
- import { t as PluginConfig } from "./plugin-config-schema-DmbzYMYe.js";
2
- import "./types-CCPXb_iJ.js";
3
- import "./store-DmFEfRbK.js";
1
+ import { t as PluginConfig } from "./plugin-config-schema-B-Zve3i5.js";
2
+ import "./types-Dcr6GKHy.js";
3
+ import "./store-h8QmkTwl.js";
4
4
  import { r as MemoryTelemetryUsageOutbox } from "./memory-telemetry-outbox-ddTdImt7.js";
5
5
  import { n as createScopePolicy } from "./memory-scope-policy-1gg5QlWZ.js";
6
6
  import { n as createErrorSignalTracker } from "./error-signals-D8_3vYu4.js";
7
- import { n as ReflectionDerivedCache, r as LoadedReflectionSlices, t as ReflectionDerivedSuppressionCache } from "./derived-suppression-cache-BGcKAg2p.js";
7
+ import { n as ReflectionDerivedCache, r as LoadedReflectionSlices, t as ReflectionDerivedSuppressionCache } from "./derived-suppression-cache-CJuzDpoR.js";
8
8
  //#region src/engine/reflection/reflection-slice-loader.d.ts
9
9
  interface ReflectionSliceLoader {
10
10
  loadAgentReflectionSlices: (agentId: string, projectIdFilter: string[]) => Promise<LoadedReflectionSlices>;
@@ -1,7 +1,7 @@
1
- import { t as PluginConfig } from "./plugin-config-schema-DmbzYMYe.js";
2
- import "./types-CCPXb_iJ.js";
1
+ import { t as PluginConfig } from "./plugin-config-schema-B-Zve3i5.js";
2
+ import "./types-Dcr6GKHy.js";
3
3
  import { n as createErrorSignalTracker } from "./error-signals-D8_3vYu4.js";
4
- import { n as ReflectionDerivedCache, t as ReflectionDerivedSuppressionCache } from "./derived-suppression-cache-BGcKAg2p.js";
4
+ import { n as ReflectionDerivedCache, t as ReflectionDerivedSuppressionCache } from "./derived-suppression-cache-CJuzDpoR.js";
5
5
  //#region src/engine/reflection/reflection-lifecycle-hooks.d.ts
6
6
  type ReflectionLifecycleParams = {
7
7
  reflectionCfg: PluginConfig["memoryReflection"];
@@ -1,2 +1,2 @@
1
- import { c as runRemProductionOrderedWave } from "./rem-trigger-BEIQodYk.js";
1
+ import { c as runRemProductionOrderedWave } from "./rem-trigger-DiHK3BKP.js";
2
2
  export { runRemProductionOrderedWave };
@@ -1,4 +1,4 @@
1
- import { $ as FIXED_IDX_MEMORY_ACTIVE_TASK_EVIDENCE_INSTANCE, $n as MAX_CHUNK_FETCH_LIMIT, $t as FIXED_VEC_MEMORY, At as FIXED_MEMORY_PROVIDER_AGENT_MAPPINGS, B as FIXED_EXTERNAL_VALUE_51, C as getSnoStationMemStateDir, Cn as CHUNK_TARGET_TOKENS, Cr as LOCAL_EMBEDDING_CACHE_DIR_DEFAULT, Ct as FIXED_MEMORY_CHUNKS_MEM_IDX, D as settingsToPluginConfig, Dn as DEFAULT_RECALL_LIFECYCLE, Dr as ensureModelDownloaded, Dt as FIXED_MEMORY_MEMORIES_FACT_ID_UPDATE_GUARD, En as DEFAULT_IMPORTANCE, Er as LocalEmbedProvider, Et as FIXED_MEMORY_MEMORIES_FACT_ID_INSERT_GUARD, Fn as EMBEDDER_DIM, Ft as FIXED_MEMORY_SNO_EXTRACT_CHAT, G as FIXED_EXTERNAL_VALUE_56, Gt as FIXED_PROTOCOL_VALUE_69, H as FIXED_EXTERNAL_VALUE_53, Hn as HEAD_EXTRACT_OVERLAP_DROP_RATIO, In as EMBEDDER_MODEL_DEFAULT, J as FIXED_EXTERNAL_VALUE_62, Jn as LIGHTWEIGHT_FUSION_WEIGHT, K as FIXED_EXTERNAL_VALUE_57, Kn as INTRA_MEMORY_COSINE_THRESHOLD, Kt as FIXED_PROTOCOL_VALUE_73, Ln as EMBEDDER_PROVIDER_DEFAULT, Lt as FIXED_MEMORY_TASK_LIFECYCLE_COMMANDS, Mn as DEFAULT_RERANK_TIMEOUT_MS, Mt as FIXED_MEMORY_PROVIDER_PROJECT_MAPPINGS, N as observeAgentId, O as MODEL_CALLS, Ot as FIXED_MEMORY_MIGRATION_MARKERS, Pn as DEFAULT_VECTOR_WEIGHT, Pr as REM_SIDECAR_TOKEN_HEADER, Q as FIXED_IDX_MEMORY_ACTIVE_TASK_CURRENT_REVISION, Rn as EVAL_QA_TRACES_FILENAME, Rt as FIXED_MEMORY_UNPLACED_CANDIDATES, Sn as CHUNK_OVERLAP_TOKENS, Sr as CachedEmbeddingProvider, St as FIXED_MEMORY_CHUNKS_MEM_FACET_IDX, T as readSettings, Tn as DEFAULT_BM25_WEIGHT, Tt as FIXED_MEMORY_MEMORIES, U as FIXED_EXTERNAL_VALUE_54, Un as HEAD_EXTRACT_TOKEN_BUDGET, V as FIXED_EXTERNAL_VALUE_52, Vn as HEAD_EXTRACT_MIN_CONTENT_TOKENS, W as FIXED_EXTERNAL_VALUE_55, Wn as IMPORTANCE_WEIGHT_BASE, X as FIXED_EXTERNAL_VALUE_9, Y as FIXED_EXTERNAL_VALUE_8, Yn as LIGHTWEIGHT_RERANK_PENALTY, Z as FIXED_IDX_MEMORY, _n as BONUS_TOTAL_INVARIANT, _t as FIXED_MEMORY_CHUNKS_AD, a as REM_MODEL_OUTPUT_TOKEN_CAP, ar as MULTI_HIT_BONUS_CAP, at as FIXED_IDX_MEMORY_MEMORIES_PROJECT, bn as CHUNK_MAX_TOKENS, br as experimentMmrDisabled, bt as FIXED_MEMORY_CHUNKS_FTS, cr as RECENCY_WEIGHT, ct as FIXED_IDX_MEMORY_MEMORIES_PROJECT_TIMESTAMP, d as getRemDiscoveryPath, dr as RERANK_BLEND_CROSS, dt as FIXED_MEMORY_ACTIVE_TASK_INSTANCES, en as FIXED_VEC_MEMORY_CHUNKS, er as MAX_LIST_LIMIT, et as FIXED_IDX_MEMORY_ACTIVE_TASK_INSTANCES_PROJECTION, fr as RERANK_BLEND_VECTOR, ft as FIXED_MEMORY_ACTIVE_TASK_MIGRATION_EVIDENCE, g as readRemOperationalConfig, gt as FIXED_MEMORY_CHUNKS, hr as TIME_DECAY_FLOOR, ht as FIXED_MEMORY_ACTIVE_TASK_TRANSITIONS, in as PERSISTED_PROVIDER_SYSTEM, ir as MMR_LAMBDA, it as FIXED_IDX_MEMORY_MEMORIES_LANE_PROJECT, jn as DEFAULT_RERANK_MODEL, jt as FIXED_MEMORY_PROVIDER_PROJECT_AGENTS, k as modelCallDestination, kt as FIXED_MEMORY_PROFILE_RECOVERY_ENTRIES, ln as ADJACENCY_BONUS_CAP, lt as FIXED_MEMORY, mt as FIXED_MEMORY_ACTIVE_TASK_REVISIONS, nn as PERSISTED_CONTENT_HASH_V1, nt as FIXED_IDX_MEMORY_MEMORIES_CONTENT_HASH, o as REM_RUN_PATH, on as llmRoutingConfigSchema, or as MULTI_HIT_BONUS_PER_HIT, ot as FIXED_IDX_MEMORY_MEMORIES_PROJECT_CONTENT_HASH, pr as RETRIEVAL_STORAGE_CHUNK_PROFILE, pt as FIXED_MEMORY_ACTIVE_TASK_MIGRATION_MANIFESTS, q as FIXED_EXTERNAL_VALUE_58, qn as LIGHTWEIGHT_COSINE_WEIGHT, r as REM_CORRELATION_ID_HEADER, rn as PERSISTED_CONTENT_HASH_V3, rt as FIXED_IDX_MEMORY_MEMORIES_FACT_ID, s as REM_SIDECAR_HOST, sn as SUPPORTED_LOCALES, st as FIXED_IDX_MEMORY_MEMORIES_PROJECT_FACT_KEY_ACTIVE, tn as PERSISTED_CANDIDATE_HASH_V1, tt as FIXED_IDX_MEMORY_MEMORIES_CATEGORY, un as ADJACENCY_BONUS_PER_PAIR, ut as FIXED_MEMORY_ACTIVE_TASK_EVIDENCE, vn as CACHE_TTL_MS, vt as FIXED_MEMORY_CHUNKS_AI, wn as CHUNK_TOKENIZER_MODE, wr as LOCAL_EMBEDDING_MODEL, wt as FIXED_MEMORY_EXTRACTION_TIMESTAMPS, xn as CHUNK_MIN_TOKENS, xt as FIXED_MEMORY_CHUNKS_MEMORY_ID_IDX, yn as CHUNKING_VERSION$1, yr as experimentCandidatePoolOverride, yt as FIXED_MEMORY_CHUNKS_AU, z as FIXED_EXTERNAL_VALUE_49 } from "./config-D3Hc1__G.js";
1
+ import { $ as FIXED_IDX_MEMORY_ACTIVE_TASK_EVIDENCE_INSTANCE, $n as MAX_CHUNK_FETCH_LIMIT, $t as FIXED_VEC_MEMORY, At as FIXED_MEMORY_PROVIDER_AGENT_MAPPINGS, B as FIXED_EXTERNAL_VALUE_51, C as getSnoStationMemStateDir, Cn as CHUNK_TARGET_TOKENS, Cr as LOCAL_EMBEDDING_CACHE_DIR_DEFAULT, Ct as FIXED_MEMORY_CHUNKS_MEM_IDX, D as settingsToPluginConfig, Dn as DEFAULT_RECALL_LIFECYCLE, Dr as ensureModelDownloaded, Dt as FIXED_MEMORY_MEMORIES_FACT_ID_UPDATE_GUARD, En as DEFAULT_IMPORTANCE, Er as LocalEmbedProvider, Et as FIXED_MEMORY_MEMORIES_FACT_ID_INSERT_GUARD, Fn as EMBEDDER_DIM, Ft as FIXED_MEMORY_SNO_EXTRACT_CHAT, G as FIXED_EXTERNAL_VALUE_56, Gt as FIXED_PROTOCOL_VALUE_69, H as FIXED_EXTERNAL_VALUE_53, Hn as HEAD_EXTRACT_OVERLAP_DROP_RATIO, In as EMBEDDER_MODEL_DEFAULT, J as FIXED_EXTERNAL_VALUE_62, Jn as LIGHTWEIGHT_FUSION_WEIGHT, K as FIXED_EXTERNAL_VALUE_57, Kn as INTRA_MEMORY_COSINE_THRESHOLD, Kt as FIXED_PROTOCOL_VALUE_73, Ln as EMBEDDER_PROVIDER_DEFAULT, Lt as FIXED_MEMORY_TASK_LIFECYCLE_COMMANDS, Mn as DEFAULT_RERANK_TIMEOUT_MS, Mt as FIXED_MEMORY_PROVIDER_PROJECT_MAPPINGS, N as observeAgentId, O as MODEL_CALLS, Ot as FIXED_MEMORY_MIGRATION_MARKERS, Pn as DEFAULT_VECTOR_WEIGHT, Pr as REM_SIDECAR_TOKEN_HEADER, Q as FIXED_IDX_MEMORY_ACTIVE_TASK_CURRENT_REVISION, Rn as EVAL_QA_TRACES_FILENAME, Rt as FIXED_MEMORY_UNPLACED_CANDIDATES, Sn as CHUNK_OVERLAP_TOKENS, Sr as CachedEmbeddingProvider, St as FIXED_MEMORY_CHUNKS_MEM_FACET_IDX, T as readSettings, Tn as DEFAULT_BM25_WEIGHT, Tt as FIXED_MEMORY_MEMORIES, U as FIXED_EXTERNAL_VALUE_54, Un as HEAD_EXTRACT_TOKEN_BUDGET, V as FIXED_EXTERNAL_VALUE_52, Vn as HEAD_EXTRACT_MIN_CONTENT_TOKENS, W as FIXED_EXTERNAL_VALUE_55, Wn as IMPORTANCE_WEIGHT_BASE, X as FIXED_EXTERNAL_VALUE_9, Y as FIXED_EXTERNAL_VALUE_8, Yn as LIGHTWEIGHT_RERANK_PENALTY, Z as FIXED_IDX_MEMORY, _n as BONUS_TOTAL_INVARIANT, _t as FIXED_MEMORY_CHUNKS_AD, a as REM_MODEL_OUTPUT_TOKEN_CAP, ar as MULTI_HIT_BONUS_CAP, at as FIXED_IDX_MEMORY_MEMORIES_PROJECT, bn as CHUNK_MAX_TOKENS, br as experimentMmrDisabled, bt as FIXED_MEMORY_CHUNKS_FTS, cr as RECENCY_WEIGHT, ct as FIXED_IDX_MEMORY_MEMORIES_PROJECT_TIMESTAMP, d as getRemDiscoveryPath, dr as RERANK_BLEND_CROSS, dt as FIXED_MEMORY_ACTIVE_TASK_INSTANCES, en as FIXED_VEC_MEMORY_CHUNKS, er as MAX_LIST_LIMIT, et as FIXED_IDX_MEMORY_ACTIVE_TASK_INSTANCES_PROJECTION, fr as RERANK_BLEND_VECTOR, ft as FIXED_MEMORY_ACTIVE_TASK_MIGRATION_EVIDENCE, g as readRemOperationalConfig, gt as FIXED_MEMORY_CHUNKS, hr as TIME_DECAY_FLOOR, ht as FIXED_MEMORY_ACTIVE_TASK_TRANSITIONS, in as PERSISTED_PROVIDER_SYSTEM, ir as MMR_LAMBDA, it as FIXED_IDX_MEMORY_MEMORIES_LANE_PROJECT, jn as DEFAULT_RERANK_MODEL, jt as FIXED_MEMORY_PROVIDER_PROJECT_AGENTS, k as modelCallDestination, kt as FIXED_MEMORY_PROFILE_RECOVERY_ENTRIES, ln as ADJACENCY_BONUS_CAP, lt as FIXED_MEMORY, mt as FIXED_MEMORY_ACTIVE_TASK_REVISIONS, nn as PERSISTED_CONTENT_HASH_V1, nt as FIXED_IDX_MEMORY_MEMORIES_CONTENT_HASH, o as REM_RUN_PATH, on as llmRoutingConfigSchema, or as MULTI_HIT_BONUS_PER_HIT, ot as FIXED_IDX_MEMORY_MEMORIES_PROJECT_CONTENT_HASH, pr as RETRIEVAL_STORAGE_CHUNK_PROFILE, pt as FIXED_MEMORY_ACTIVE_TASK_MIGRATION_MANIFESTS, q as FIXED_EXTERNAL_VALUE_58, qn as LIGHTWEIGHT_COSINE_WEIGHT, r as REM_CORRELATION_ID_HEADER, rn as PERSISTED_CONTENT_HASH_V3, rt as FIXED_IDX_MEMORY_MEMORIES_FACT_ID, s as REM_SIDECAR_HOST, sn as SUPPORTED_LOCALES, st as FIXED_IDX_MEMORY_MEMORIES_PROJECT_FACT_KEY_ACTIVE, tn as PERSISTED_CANDIDATE_HASH_V1, tt as FIXED_IDX_MEMORY_MEMORIES_CATEGORY, un as ADJACENCY_BONUS_PER_PAIR, ut as FIXED_MEMORY_ACTIVE_TASK_EVIDENCE, vn as CACHE_TTL_MS, vt as FIXED_MEMORY_CHUNKS_AI, wn as CHUNK_TOKENIZER_MODE, wr as LOCAL_EMBEDDING_MODEL, wt as FIXED_MEMORY_EXTRACTION_TIMESTAMPS, xn as CHUNK_MIN_TOKENS, xt as FIXED_MEMORY_CHUNKS_MEMORY_ID_IDX, yn as CHUNKING_VERSION$1, yr as experimentCandidatePoolOverride, yt as FIXED_MEMORY_CHUNKS_AU, z as FIXED_EXTERNAL_VALUE_49 } from "./config-BCZRhUvW.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, createReadStream, existsSync, mkdirSync, readFileSync, realpathSync, writeFileSync } from "node:fs";
@@ -5829,6 +5829,10 @@ function stableHash(text) {
5829
5829
  return createHash("sha256").update(text).digest("hex");
5830
5830
  }
5831
5831
  z.object({ source: z.object({ commit: z.string().min(1) }) });
5832
+ //#endregion
5833
+ //#region config/skin-defaults.ts
5834
+ /** Epoch milliseconds after which the requester no longer waits for the answer. */
5835
+ const HOST_MODEL_DEADLINE_HEADER = "x-sno-deadline";
5832
5836
  z.object({
5833
5837
  offset: z.number().int().nonnegative(),
5834
5838
  lastTs: z.number().int().nonnegative(),
@@ -19069,6 +19073,14 @@ Object.assign(MemoryStore.prototype, { walkMemoryRelations(input) {
19069
19073
  * @purpose Persists atomic extraction chunk state and bounded reprocess repairs.
19070
19074
  * @boundary Serial chunk lifecycle and transaction completion only; no model calls or extraction.
19071
19075
  */
19076
+ /** Another capture of the same turn completed this chunk while this one was still running; its rows are written. */
19077
+ var AtomicExtractionCompletedElsewhere = class extends StorageError {
19078
+ entry;
19079
+ constructor(entry, message) {
19080
+ super(message);
19081
+ this.entry = entry;
19082
+ }
19083
+ };
19072
19084
  const SELECT_LEDGER_ROW = `
19073
19085
  SELECT
19074
19086
  conversation_id AS conversationId,
@@ -19238,6 +19250,7 @@ Object.assign(MemoryStore.prototype, {
19238
19250
  validateKey(key);
19239
19251
  assertTimestamp(nowMs);
19240
19252
  const entry = readEntry(this, key);
19253
+ if (entry.state === "complete") throw new AtomicExtractionCompletedElsewhere(entry, "Cannot record calls from atomic extraction state 'complete'");
19241
19254
  if (entry.state !== "open" && entry.state !== "calls_recorded") throw new StorageError(`Cannot record calls from atomic extraction state '${entry.state}'`);
19242
19255
  this.sqlite.prepare(`
19243
19256
  UPDATE nodix_atomic_extraction_ledger
@@ -19250,6 +19263,7 @@ Object.assign(MemoryStore.prototype, {
19250
19263
  assertTimestamp(nowMs);
19251
19264
  if (runParameters !== void 0) validateRunParameters(runParameters);
19252
19265
  const entry = readEntry(this, key);
19266
+ if (entry.state === "complete") throw new AtomicExtractionCompletedElsewhere(entry, "Cannot pend atomic extraction from state 'complete'");
19253
19267
  if (entry.state !== "calls_recorded") throw new StorageError(`Cannot pend atomic extraction from state '${entry.state}'`);
19254
19268
  this.sqlite.prepare(`
19255
19269
  UPDATE nodix_atomic_extraction_ledger
@@ -19301,6 +19315,7 @@ Object.assign(MemoryStore.prototype, {
19301
19315
  assertTimestamp(nowMs);
19302
19316
  return this.sqlite.transaction(() => {
19303
19317
  const entry = readEntry(this, key);
19318
+ if (entry.state === "complete") throw new AtomicExtractionCompletedElsewhere(entry, "Cannot complete atomic extraction from state 'complete'");
19304
19319
  if (entry.state !== "calls_recorded") throw new StorageError(`Cannot complete atomic extraction from state '${entry.state}'`);
19305
19320
  if (isPromiseLike(write(this.sqlite))) throw new StorageError("Atomic extraction completion callback must be synchronous");
19306
19321
  this.sqlite.prepare(`
@@ -32132,23 +32147,34 @@ async function applyCompletedBaselines(auditStateDir, triggerStateDir, state) {
32132
32147
  });
32133
32148
  continue;
32134
32149
  }
32135
- const failed = entry["event"] === "rem_failed";
32136
- if ((entry["event"] === "rem_skipped" || failed) && typeof correlationId === "string") {
32137
- const stopped = dispatched.get(correlationId);
32138
- const spent = failed ? details?.["source"] === "sidecar" && details["error"] !== "sidecar_restart" : typeof details?.["destination"] === "string";
32139
- const tries = (triesByCorrelation.get(correlationId) ?? 0) + (spent ? 1 : 0);
32150
+ if (entry["event"] === "rem_skipped" && typeof correlationId === "string") {
32151
+ const skipped = dispatched.get(correlationId);
32152
+ const tries = (triesByCorrelation.get(correlationId) ?? 0) + (typeof details?.["destination"] === "string" ? 1 : 0);
32140
32153
  triesByCorrelation.set(correlationId, tries);
32141
- const stoppedScopeState = stopped ? nextState.scopes[stopped.scope] : void 0;
32142
- if (stopped && stoppedScopeState && tries >= 3 && isLocalDate(stopped.localDate) && (stoppedScopeState.last_volume_pass_date ?? "") < stopped.localDate) nextState = replaceScopeState(nextState, stopped.scope, {
32143
- ...stoppedScopeState,
32144
- last_volume_pass_date: stopped.localDate,
32154
+ const skippedScopeState = skipped ? nextState.scopes[skipped.scope] : void 0;
32155
+ if (skipped && skippedScopeState && tries >= 3 && isLocalDate(skipped.localDate) && (skippedScopeState.last_volume_pass_date ?? "") < skipped.localDate) nextState = replaceScopeState(nextState, skipped.scope, {
32156
+ ...skippedScopeState,
32157
+ last_volume_pass_date: skipped.localDate,
32145
32158
  attempts: {
32146
32159
  identity: null,
32147
32160
  count: 0
32148
32161
  }
32149
32162
  });
32150
- else if (!failed && stopped && stoppedScopeState?.attempts.identity === correlationId) nextState = replaceScopeState(nextState, stopped.scope, {
32151
- ...stoppedScopeState,
32163
+ else if (skipped && skippedScopeState?.attempts.identity === correlationId) nextState = replaceScopeState(nextState, skipped.scope, {
32164
+ ...skippedScopeState,
32165
+ attempts: {
32166
+ identity: null,
32167
+ count: 0
32168
+ }
32169
+ });
32170
+ continue;
32171
+ }
32172
+ if (entry["event"] === "rem_failed" && details?.["source"] === "sidecar" && typeof correlationId === "string") {
32173
+ const failed = dispatched.get(correlationId);
32174
+ const failedScopeState = failed ? nextState.scopes[failed.scope] : void 0;
32175
+ if (failed && failedScopeState && isLocalDate(failed.localDate) && (failedScopeState.last_volume_pass_date ?? "") < failed.localDate) nextState = replaceScopeState(nextState, failed.scope, {
32176
+ ...failedScopeState,
32177
+ last_volume_pass_date: failed.localDate,
32152
32178
  attempts: {
32153
32179
  identity: null,
32154
32180
  count: 0
@@ -32368,4 +32394,4 @@ function errorMessage(error) {
32368
32394
  return error instanceof Error ? error.message : String(error);
32369
32395
  }
32370
32396
  //#endregion
32371
- export { readMemorySourceOrderOrOldest as $, atomicExtractionSkillReference as $t, recordTokenCounter as A, isTerminalLlmFailure$1 as At, randomUUID$1 as B, buildInsightMetadata as Bt, resolveHookAgentId as C, parseAgentIdFromSessionKey$1 as Ct, closeAtomicArrivalRetirementTargets as D, isTerminalLlmFailure as Dt, recordAtomicEntityIdentityJournal as E, createLlmClient as Et, normalizeMemoryRelationPredicate as F, stableHash as Ft, adapterAViewFromRecord as G, deriveFactKey as Gt, loadSqliteVecExtension as H, stringifyInsightMetadata as Ht, MemoryStore as I, stripHtmlTags as It, parseAdapterAChatVerdict as J, normalizeCategory as Jt, isAdapterAVerdictReply as K, AGGREGATION_OPERATIONS as Kt, StaleSupersedeTargetError as L, stripRoleLabelPrefix as Lt, canonicalizeProfileSectionName as M, CODING_SKIN_SESSION_QUERY as Mt, normalizeTopicToSectionName as N, clamp01 as Nt, journalAtomicArrivalRetirementRefusal as O, withProviderResponses as Ot, getSnoStationMemDataDir as P, clampInt as Pt, compareMemorySourceOrder as Q, ATOMIC_EXTRACTION_SKILL_HASH as Qt, TaskLifecycleStaleResolutionError as R, truncateGraphemes as Rt, resolveTaskLifecycleEffectiveTime as S, createScopePolicy as St, normalizeEntityName as T, ModelCallRefusedError as Tt, REM_BUILT_OPERATION_TYPES as U, normalizeIsoDateTimeString as Ut, readChunkVecTableState as V, parseInsightMetadata as Vt, parseRemOperationType as W, parseIsoDateTimeMs as Wt, renderAdapterAChatPrompt as X, resolveLlmRoute as Xt, prospectiveProfileView as Y, pickLlmRoutingConfig as Yt, renderAdapterAPrompt as Z, ATOMIC_EXTRACTION_SKILL as Zt, findUniqueActiveTaskByDescription as _, withMemoryOperation as _n, RESOURCES_BY_LOCALE as _t, enumerateRemCandidateScopes as a, calendarInstructionSchema as an, runWithMemoryAuditSync as at, admitTaskLifecycleAssertion as b, StorageError as bt, runRemProductionOrderedWave as c, attribute_dictionary_default as cn, parseSessionTimestamp as ct, MemoryRetriever as d, initSqliteRuntime as dn, unresolvedMemoryDate as dt, modelReplyJsonCandidates as en, appendAuditEntry as et, DEFAULT_RETRIEVAL_CONFIG as f, openSqliteDatabase as fn, boundSectionContent as ft, buildTaskLifecycleCandidateSet as g, memoryOperationSignal as gn, ALL_RESOURCES as gt, acceptsTaskLifecycleJudgment as h, memoryFileWrite as hn, normalizeAmbientLearningText as ht, createRemModelStageResponsePort as i, calculateCalendarTime as in, runWithMemoryAudit as it, canExtractorWrite as j, CODING_SKIN_LEDGER_MAX_CHARS as jt, readAtomicArrivalRetirementCandidateSet as k, classifyLlmFailure as kt, runWithCanonicalStoreWriteMutex as l, MEMORY_TELEMETRY_DELETE_REASONS as ln, serializeIntervalMetadata as lt, Embedder as m, checkMemoryOperation as mn, stripEnvelopeMetadata as mt, remNeedsHost as n, state_vocabulary_default as nn, currentMutationAttemptId as nt, readCandidates as o, isCalendarLabel as on, runWithMutationAttempt as ot, AccessTracker as p, openSqliteDatabaseReadonly as pn, buildIndexedText as pt, orderAdapterAPair as q, MEMORY_CATEGORIES as qt, buildRemReplaceCandidateQueue as r, relations as rn, getAuditPath as rt, runRemBatchJob as s, sessionZoneCarriedBy as sn, readJsonlLines as st, evaluateRemAutomaticTriggers as t, readModelReplyJson as tn, appendAuditEntryStrict as tt, selectRemUpdateRelationCandidates as u, isMemoryTelemetryEventType as un, resolveMemoryDate as ut, resolveTaskLifecycle as v, forwardObserveLedgerUntilIdle as vn, RetrievalError as vt, listAtomicMemoryEntityCandidates as w, LlmClientTerminalError as wt, buildTaskLifecycleCommandClaim as x, MemoryScopePolicy as xt, taskLifecycleCandidateSetVersion as y, SnoStationMemError as yt, validateMemoryTelemetryMetadata as z, redactSecrets as zt };
32397
+ export { compareMemorySourceOrder as $, ATOMIC_EXTRACTION_SKILL as $t, recordTokenCounter as A, classifyLlmFailure as At, validateMemoryTelemetryMetadata as B, truncateGraphemes as Bt, resolveHookAgentId as C, createScopePolicy as Ct, closeAtomicArrivalRetirementTargets as D, createLlmClient as Dt, recordAtomicEntityIdentityJournal as E, ModelCallRefusedError as Et, AtomicExtractionCompletedElsewhere as F, clamp01 as Ft, parseRemOperationType as G, normalizeIsoDateTimeString as Gt, readChunkVecTableState as H, buildInsightMetadata as Ht, normalizeMemoryRelationPredicate as I, clampInt as It, orderAdapterAPair as J, AGGREGATION_OPERATIONS as Jt, adapterAViewFromRecord as K, parseIsoDateTimeMs as Kt, MemoryStore as L, stableHash as Lt, canonicalizeProfileSectionName as M, CODING_SKIN_LEDGER_MAX_CHARS as Mt, normalizeTopicToSectionName as N, CODING_SKIN_SESSION_QUERY as Nt, journalAtomicArrivalRetirementRefusal as O, isTerminalLlmFailure as Ot, getSnoStationMemDataDir as P, HOST_MODEL_DEADLINE_HEADER as Pt, renderAdapterAPrompt as Q, resolveLlmRoute as Qt, StaleSupersedeTargetError as R, stripHtmlTags as Rt, resolveTaskLifecycleEffectiveTime as S, MemoryScopePolicy as St, normalizeEntityName as T, LlmClientTerminalError as Tt, loadSqliteVecExtension as U, parseInsightMetadata as Ut, randomUUID$1 as V, redactSecrets as Vt, REM_BUILT_OPERATION_TYPES as W, stringifyInsightMetadata as Wt, prospectiveProfileView as X, normalizeCategory as Xt, parseAdapterAChatVerdict as Y, MEMORY_CATEGORIES as Yt, renderAdapterAChatPrompt as Z, pickLlmRoutingConfig as Zt, findUniqueActiveTaskByDescription as _, memoryFileWrite as _n, ALL_RESOURCES as _t, enumerateRemCandidateScopes as a, relations as an, runWithMemoryAudit as at, admitTaskLifecycleAssertion as b, forwardObserveLedgerUntilIdle as bn, SnoStationMemError as bt, runRemProductionOrderedWave as c, isCalendarLabel as cn, readJsonlLines as ct, MemoryRetriever as d, MEMORY_TELEMETRY_DELETE_REASONS as dn, resolveMemoryDate as dt, ATOMIC_EXTRACTION_SKILL_HASH as en, readMemorySourceOrderOrOldest as et, DEFAULT_RETRIEVAL_CONFIG as f, isMemoryTelemetryEventType as fn, unresolvedMemoryDate as ft, buildTaskLifecycleCandidateSet as g, checkMemoryOperation as gn, normalizeAmbientLearningText as gt, acceptsTaskLifecycleJudgment as h, openSqliteDatabaseReadonly as hn, stripEnvelopeMetadata as ht, createRemModelStageResponsePort as i, state_vocabulary_default as in, getAuditPath as it, canExtractorWrite as j, isTerminalLlmFailure$1 as jt, readAtomicArrivalRetirementCandidateSet as k, withProviderResponses as kt, runWithCanonicalStoreWriteMutex as l, sessionZoneCarriedBy as ln, parseSessionTimestamp as lt, Embedder as m, openSqliteDatabase as mn, buildIndexedText as mt, remNeedsHost as n, modelReplyJsonCandidates as nn, appendAuditEntryStrict as nt, readCandidates as o, calculateCalendarTime as on, runWithMemoryAuditSync as ot, AccessTracker as p, initSqliteRuntime as pn, boundSectionContent as pt, isAdapterAVerdictReply as q, deriveFactKey as qt, buildRemReplaceCandidateQueue as r, readModelReplyJson as rn, currentMutationAttemptId as rt, runRemBatchJob as s, calendarInstructionSchema as sn, runWithMutationAttempt as st, evaluateRemAutomaticTriggers as t, atomicExtractionSkillReference as tn, appendAuditEntry as tt, selectRemUpdateRelationCandidates as u, attribute_dictionary_default as un, serializeIntervalMetadata as ut, resolveTaskLifecycle as v, memoryOperationSignal as vn, RESOURCES_BY_LOCALE as vt, listAtomicMemoryEntityCandidates as w, parseAgentIdFromSessionKey$1 as wt, buildTaskLifecycleCommandClaim as x, StorageError as xt, taskLifecycleCandidateSetVersion as y, withMemoryOperation as yn, RetrievalError as yt, TaskLifecycleStaleResolutionError as z, stripRoleLabelPrefix as zt };
@@ -1,13 +1,13 @@
1
- import { h as MemoryCategory, l as DecayScore, r as AggregationQuery, u as DecayableMemory, x as RetrievalResult, y as MemorySearchResult } from "./types-CCPXb_iJ.js";
1
+ import { h as MemoryCategory, l as DecayScore, r as AggregationQuery, u as DecayableMemory, x as RetrievalResult, y as MemorySearchResult } from "./types-Dcr6GKHy.js";
2
2
  import { sn as RecallLifecycleConfig } from "./index-DL8AVj0Z.js";
3
3
  import { t as Embedder } from "./embedding-provider-client-vynZMuit.js";
4
4
  import "./trace-C1JxMfs-.js";
5
- import "./memory-metadata-codec-n-CFKYjn.js";
5
+ import "./memory-metadata-codec-DqmbQiE6.js";
6
6
  import { K as RemFacetPolicy } from "./index-BO4RU_mc.js";
7
- import { C as MemoryStore } from "./memory-store-base-QoyY3sxH.js";
8
- import "./store-DmFEfRbK.js";
9
- import { n as AccessTracker } from "./access-tracker-D20cgP0X.js";
10
- import { r as TierPromoter } from "./memory-tier-promoter-DeJbiH1w.js";
7
+ import { C as MemoryStore } from "./memory-store-base-5tTeqT7l.js";
8
+ import "./store-h8QmkTwl.js";
9
+ import { n as AccessTracker } from "./access-tracker-gzQVC6ur.js";
10
+ import { r as TierPromoter } from "./memory-tier-promoter-Du9gPBxH.js";
11
11
  import "@snoai/utils/logger";
12
12
  //#region src/engine/retrieval/retrieval-trace.d.ts
13
13
  /** @file retrieval-trace.ts
@@ -1,4 +1,4 @@
1
- import "./paths-AoHWqjCM.js";
1
+ import "./paths-BNJZ-i4I.js";
2
2
  //#region src/engine/operations/runtime-audit-log.d.ts
3
3
  type AuditEvent = "tool_call" | "hook_trigger" | "kill_switch" | "startup" | "error" | "auto_recall" | "ambient_learning" | "session_summary" | "envelope_strip" | "storage_integrity" | "memory_injected" | "memory_searched" | "memory_read" | "memory_updated" | "memory_superseded" | "memory_deleted" | "memory_purged" | "rem_trigger_evaluated" | "rem_triggered" | "rem_completed" | "rem_failed";
4
4
  type AuditStatus = "ok" | "error" | "skipped" | "partial";
@@ -1,17 +1,17 @@
1
- import { Tt as ModelCallRefusedError, U as REM_BUILT_OPERATION_TYPES, W as parseRemOperationType, n as remNeedsHost, rt as getAuditPath, st as readJsonlLines, tt as appendAuditEntryStrict } from "./rem-trigger-BEIQodYk.js";
2
- import { Ar as MEMORY_ERROR_STATUS, C as getSnoStationMemStateDir, Fr as memoryMethod, Mr as MEMORY_ROUTES, Nr as MEMORY_SKIN_HEADER, S as getSidecarSocketPath, _ as readRemTestHoldMs, c as REM_SIDECAR_ORIGIN, d as getRemDiscoveryPath, f as getRemJobJournalPath, g as readRemOperationalConfig, i as REM_JOBS_PATH_PREFIX, kr as MEMORY_DEFAULT_SKIN_ID, l as REM_SOURCE, nr as MEMORY_SHUTDOWN_TIMEOUT_MS, r as REM_CORRELATION_ID_HEADER, s as REM_SIDECAR_HOST, u as getRemChassisJournalPath, v as SettingsUnavailableError, y as getDiscoveryPath } from "./config-D3Hc1__G.js";
1
+ import { Et as ModelCallRefusedError, G as parseRemOperationType, W as REM_BUILT_OPERATION_TYPES, ct as readJsonlLines, it as getAuditPath, n as remNeedsHost, nt as appendAuditEntryStrict } from "./rem-trigger-DiHK3BKP.js";
2
+ import { Ar as MEMORY_ERROR_STATUS, C as getSnoStationMemStateDir, Fr as memoryMethod, Mr as MEMORY_ROUTES, Nr as MEMORY_SKIN_HEADER, S as getSidecarSocketPath, _ as readRemTestHoldMs, c as REM_SIDECAR_ORIGIN, d as getRemDiscoveryPath, f as getRemJobJournalPath, g as readRemOperationalConfig, i as REM_JOBS_PATH_PREFIX, kr as MEMORY_DEFAULT_SKIN_ID, l as REM_SOURCE, nr as MEMORY_SHUTDOWN_TIMEOUT_MS, r as REM_CORRELATION_ID_HEADER, s as REM_SIDECAR_HOST, u as getRemChassisJournalPath, v as SettingsUnavailableError, y as getDiscoveryPath } from "./config-BCZRhUvW.js";
3
3
  import { t as ContractError } from "./error-D-wb-rZw.js";
4
4
  import { setImmediate } from "node:timers/promises";
5
5
  import { createLogger, currentLogContext, effectiveLogLevel, emitDiagnostic } from "@snoai/utils/logger";
6
6
  import path from "node:path";
7
- import { existsSync, readFileSync, rmSync } from "node:fs";
7
+ import { constants, existsSync, readFileSync, rmSync } from "node:fs";
8
8
  import { z } from "zod";
9
9
  import { randomBytes, randomUUID } from "node:crypto";
10
10
  import { mkdir, open, readFile, rename, rm } from "node:fs/promises";
11
11
  import { withLogContext as withLogContext$1 } from "@snoai/utils/log-context";
12
12
  import { createConnection, createServer } from "node:net";
13
13
  import { createServer as createServer$1 } from "node:http";
14
- import locking from "fs-ext";
14
+ import { tryLock } from "fs-native-extensions";
15
15
  //#region src/contract/discovery.ts
16
16
  const discoverySchema = z.strictObject({
17
17
  pid: z.number().int().positive(),
@@ -573,15 +573,9 @@ async function bindSidecarSocket() {
573
573
  recursive: true,
574
574
  mode: 448
575
575
  });
576
- const directory = await open(path.dirname(socketPath), "r");
576
+ const lock = await open(`${socketPath}.lock`, constants.O_RDWR | constants.O_CREAT | constants.O_NOFOLLOW, 384);
577
577
  try {
578
- for (;;) try {
579
- locking.flockSync(directory.fd, "exnb");
580
- break;
581
- } catch (error) {
582
- if (!(error instanceof Error && "code" in error && error.code === "EAGAIN")) throw error;
583
- await setImmediate();
584
- }
578
+ while (!tryLock(lock.fd)) await setImmediate();
585
579
  const guard = createServer((socket) => socket.destroy());
586
580
  for (;;) try {
587
581
  await new Promise((resolve, reject) => {
@@ -607,7 +601,7 @@ async function bindSidecarSocket() {
607
601
  await rm(socketPath, { force: true });
608
602
  }
609
603
  } finally {
610
- await directory.close();
604
+ await lock.close();
611
605
  }
612
606
  }
613
607
  async function startRemSidecar() {
@@ -649,7 +643,7 @@ async function startOwnedRemSidecar() {
649
643
  async open() {
650
644
  if (currentMemory) return currentMemory;
651
645
  if (settingsError) throw settingsError;
652
- openingMemory ??= import("./memory-runtime-CVbnnCfB.js").then((module) => module.MemoryRuntimePool.open()).then((pool) => {
646
+ openingMemory ??= import("./memory-runtime-CvxA1mP0.js").then((module) => module.MemoryRuntimePool.open()).then((pool) => {
653
647
  currentMemory = pool;
654
648
  if (stopping) pool.stopTimers();
655
649
  return pool;
@@ -1044,7 +1038,7 @@ async function runChassisJob(store, journal, waveId, holdMs, runtime) {
1044
1038
  cleanRefusalReasons.push(reason);
1045
1039
  await appendChassisRefusal(journal, queued, operation, "refused", reason);
1046
1040
  }
1047
- const { runRemProductionOrderedWave } = await import("./rem-batch-executor-C7iItB5x.js");
1041
+ const { runRemProductionOrderedWave } = await import("./rem-batch-executor-Dpysz3or.js");
1048
1042
  const result = enabledOperations.length === 0 ? {
1049
1043
  decision: "allow",
1050
1044
  reasonCode: null,
@@ -1,4 +1,4 @@
1
- import { jr as MEMORY_RECONNECT_INTERVAL_MS, m as isRemTraceEnabled, p as getRemTraceLogPath, v as SettingsUnavailableError } from "../config-D3Hc1__G.js";
1
+ import { jr as MEMORY_RECONNECT_INTERVAL_MS, m as isRemTraceEnabled, p as getRemTraceLogPath, v as SettingsUnavailableError } from "../config-BCZRhUvW.js";
2
2
  import { setTimeout } from "node:timers/promises";
3
3
  import { addLogFileTarget, closeLogger, createLogger } from "@snoai/utils/logger";
4
4
  //#region src/sidecar/main.ts
@@ -6,7 +6,7 @@ import { addLogFileTarget, closeLogger, createLogger } from "@snoai/utils/logger
6
6
  * @purpose Boots the standalone local REM sidecar process.
7
7
  * @boundary Process environment, sidecar lifecycle, and local request-log destination.
8
8
  */
9
- const { startRemSidecar, DuplicateSidecarError } = await import("../server-DyWtDUHh.js");
9
+ const { startRemSidecar, DuplicateSidecarError } = await import("../server-0KpYuZ69.js");
10
10
  let sidecar;
11
11
  while (!sidecar) try {
12
12
  sidecar = await startRemSidecar();
@@ -0,0 +1,31 @@
1
+ import "./types-Dcr6GKHy.js";
2
+ import "./index-DL8AVj0Z.js";
3
+ import "./adapter-CMMmIzGe.js";
4
+ import "./embedding-provider-client-vynZMuit.js";
5
+ import "./retriever-CI0r-RAK.js";
6
+ import "./connection-3IVXpuPE.js";
7
+ import "./sqlite-runtime-L_ywirTm.js";
8
+ import "./store-h8QmkTwl.js";
9
+ import "./access-tracker-gzQVC6ur.js";
10
+ import "./memory-tier-promoter-Du9gPBxH.js";
11
+ import "./capture-policy-detector-B9Gzx-1V.js";
12
+ import "./memory-temporality-classifier-DztzPNxV.js";
13
+ import "./runtime-audit-log-B_tsjFZl.js";
14
+ import "./atomic-memory-extraction-vz2gIrqC.js";
15
+ import "./llm-client-BdS_IKvU.js";
16
+ import "./memory-snapshot-DBcnAnOn.js";
17
+ import "./observable-embedder-B7Si8IxG.js";
18
+ import "./observable-llm-client-BD0_NE26.js";
19
+ import "./observable-memory-store-CHC6Dy1d.js";
20
+ import "./observable-retriever-CTkpsSKo.js";
21
+ import "./reflection-embedded-generator-BAsTsaVA.js";
22
+ import "./strategy-hook-runner-C3WFg1oP.js";
23
+ import "./data-bootstrap-Bl3lthzE.js";
24
+ import "@snoai/sqlite-crypto";
25
+ //#region src/engine/bindings/sno-station-mem-runtime-dependencies.d.ts
26
+ /** Legacy parameters carry only an unused logger slot; no host operations are exposed. */
27
+ type SnoStationMemPluginApi = {
28
+ logger: unknown;
29
+ };
30
+ //#endregion
31
+ export { SnoStationMemPluginApi as t };
@@ -9,11 +9,11 @@ import "./ambient-learning-text-normalizer-CxjATmMp.js";
9
9
  import "./memory-temporality-classifier-C6MW_0i4.js";
10
10
  import "./runtime-audit-log-BCeujlEp.js";
11
11
  import "./scopes-CSOn6zdd.js";
12
- import "./atomic-memory-extraction-BWYEdBhl.js";
12
+ import "./atomic-memory-extraction-Dj5LX-e7.js";
13
13
  import "./internal/store/sqlite-runtime.js";
14
14
  import "./connection-C9YD5sgm.js";
15
15
  import "./internal/store/data-paths.js";
16
- import "./adapter-RxQ9CJ7f.js";
16
+ import "./adapter-CG-UbOjU.js";
17
17
  import "./internal/engine/observability/memory-snapshot.js";
18
18
  import "./internal/engine/observability/observable-embedder.js";
19
19
  import "./internal/engine/observability/observable-llm-client.js";
@@ -755,6 +755,14 @@ Object.assign(MemoryStore.prototype, { walkMemoryRelations(input) {
755
755
  * @purpose Persists atomic extraction chunk state and bounded reprocess repairs.
756
756
  * @boundary Serial chunk lifecycle and transaction completion only; no model calls or extraction.
757
757
  */
758
+ /** Another capture of the same turn completed this chunk while this one was still running; its rows are written. */
759
+ var AtomicExtractionCompletedElsewhere = class extends StorageError {
760
+ entry;
761
+ constructor(entry, message) {
762
+ super(message);
763
+ this.entry = entry;
764
+ }
765
+ };
758
766
  const SELECT_LEDGER_ROW = `
759
767
  SELECT
760
768
  conversation_id AS conversationId,
@@ -924,6 +932,7 @@ Object.assign(MemoryStore.prototype, {
924
932
  validateKey(key);
925
933
  assertTimestamp(nowMs);
926
934
  const entry = readEntry(this, key);
935
+ if (entry.state === "complete") throw new AtomicExtractionCompletedElsewhere(entry, "Cannot record calls from atomic extraction state 'complete'");
927
936
  if (entry.state !== "open" && entry.state !== "calls_recorded") throw new StorageError(`Cannot record calls from atomic extraction state '${entry.state}'`);
928
937
  this.sqlite.prepare(`
929
938
  UPDATE nodix_atomic_extraction_ledger
@@ -936,6 +945,7 @@ Object.assign(MemoryStore.prototype, {
936
945
  assertTimestamp(nowMs);
937
946
  if (runParameters !== void 0) validateRunParameters(runParameters);
938
947
  const entry = readEntry(this, key);
948
+ if (entry.state === "complete") throw new AtomicExtractionCompletedElsewhere(entry, "Cannot pend atomic extraction from state 'complete'");
939
949
  if (entry.state !== "calls_recorded") throw new StorageError(`Cannot pend atomic extraction from state '${entry.state}'`);
940
950
  this.sqlite.prepare(`
941
951
  UPDATE nodix_atomic_extraction_ledger
@@ -987,6 +997,7 @@ Object.assign(MemoryStore.prototype, {
987
997
  assertTimestamp(nowMs);
988
998
  return this.sqlite.transaction(() => {
989
999
  const entry = readEntry(this, key);
1000
+ if (entry.state === "complete") throw new AtomicExtractionCompletedElsewhere(entry, "Cannot complete atomic extraction from state 'complete'");
990
1001
  if (entry.state !== "calls_recorded") throw new StorageError(`Cannot complete atomic extraction from state '${entry.state}'`);
991
1002
  if (isPromiseLike(write(this.sqlite))) throw new StorageError("Atomic extraction completion callback must be synchronous");
992
1003
  this.sqlite.prepare(`
@@ -5827,4 +5838,4 @@ Object.assign(MemoryStore.prototype, {
5827
5838
  }
5828
5839
  });
5829
5840
  //#endregion
5830
- export { TaskLifecycleStaleResolutionError as C, TaskLifecycleCommandCollisionError as S, TaskLifecycleTimestampCollisionError as T, hashMemorySuppressionContent as _, resolveTaskLifecycle as a, MemoryStore as b, buildTaskLifecycleCommandClaim as c, normalizeEntityName as d, recordAtomicEntityIdentityJournal as f, readAtomicArrivalRetirementCandidateSet as g, journalAtomicArrivalRetirementRefusal as h, findUniqueActiveTaskByDescription as i, resolveTaskLifecycleEffectiveTime as l, closeAtomicArrivalRetirementTargets as m, acceptsTaskLifecycleJudgment as n, taskLifecycleCandidateSetVersion as o, ATOMIC_FACT_SURFACE_LANE as p, buildTaskLifecycleCandidateSet as r, admitTaskLifecycleAssertion as s, buildTaskLifecycleMigrationManifest as t, listAtomicMemoryEntityCandidates as u, repairAtomicExtractionParameters as v, TaskLifecycleStateCollisionError as w, StaleSupersedeTargetError as x, normalizeMemoryRelationPredicate as y };
5841
+ export { TaskLifecycleCommandCollisionError as C, TaskLifecycleTimestampCollisionError as E, StaleSupersedeTargetError as S, TaskLifecycleStateCollisionError as T, hashMemorySuppressionContent as _, resolveTaskLifecycle as a, normalizeMemoryRelationPredicate as b, buildTaskLifecycleCommandClaim as c, normalizeEntityName as d, recordAtomicEntityIdentityJournal as f, readAtomicArrivalRetirementCandidateSet as g, journalAtomicArrivalRetirementRefusal as h, findUniqueActiveTaskByDescription as i, resolveTaskLifecycleEffectiveTime as l, closeAtomicArrivalRetirementTargets as m, acceptsTaskLifecycleJudgment as n, taskLifecycleCandidateSetVersion as o, ATOMIC_FACT_SURFACE_LANE as p, buildTaskLifecycleCandidateSet as r, admitTaskLifecycleAssertion as s, buildTaskLifecycleMigrationManifest as t, listAtomicMemoryEntityCandidates as u, AtomicExtractionCompletedElsewhere as v, TaskLifecycleStaleResolutionError as w, MemoryStore as x, repairAtomicExtractionParameters as y };