@snoai/memory 1.2.3 → 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 (155) hide show
  1. package/README.md +1 -1
  2. package/dist/{access-tracker-BNqlgChq.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-J6IQ0rvr.d.ts → adapter-CMMmIzGe.d.ts} +2 -2
  5. package/dist/{agent-llm-port-5oXgBpzJ.d.ts → agent-llm-port-DY2290EK.d.ts} +2 -0
  6. package/dist/{atomic-memory-extraction-By0axKHc.js → atomic-memory-extraction-Dj5LX-e7.js} +28 -13
  7. package/dist/{atomic-memory-extraction-BT8lFE5t.d.ts → atomic-memory-extraction-vz2gIrqC.d.ts} +4 -4
  8. package/dist/{b-profile-section-dictionary-provider-DGtF4dB7.d.ts → b-profile-section-dictionary-provider-YawRtzNC.d.ts} +1 -1
  9. package/dist/{capture-policy-detector-CN3vfdNU.d.ts → capture-policy-detector-B9Gzx-1V.d.ts} +1 -1
  10. package/dist/client.d.ts +1 -1
  11. package/dist/client.js +19 -2
  12. package/dist/{coding-skin-C7gwOKsc.js → coding-skin-_Qu3INZD.js} +37 -2
  13. package/dist/coding-skin.d.ts +37 -3
  14. package/dist/coding-skin.js +3 -3
  15. package/dist/{config-CyH1VuJc.js → config-BCZRhUvW.js} +62 -2
  16. package/dist/{derived-suppression-cache-BZdBZSdK.d.ts → derived-suppression-cache-CJuzDpoR.d.ts} +1 -1
  17. package/dist/diagnostic-encoder.js +1 -1
  18. package/dist/{embedding-provider-client-Q_hJonK9.js → embedding-provider-client-40tpzKou.js} +5 -1
  19. package/dist/{index-DtqgCT8u.d.ts → index-Dg3p5cmw.d.ts} +2 -2
  20. package/dist/index.d.ts +10 -10
  21. package/dist/index.js +9 -9
  22. package/dist/internal/config/plugin-config-schema.d.ts +1 -1
  23. package/dist/internal/config/plugin-config-schema.js +1 -1
  24. package/dist/internal/config/product-mode.d.ts +1 -1
  25. package/dist/internal/config/settings.d.ts +1 -1
  26. package/dist/internal/config/settings.js +1 -1
  27. package/dist/internal/config/skin-defaults.d.ts +3 -1
  28. package/dist/internal/config/skin-defaults.js +3 -1
  29. package/dist/internal/contract/profile.d.ts +1 -1
  30. package/dist/internal/contract/routes.d.ts +1 -1
  31. package/dist/internal/engine/bindings/memory-cli-shared.d.ts +4 -4
  32. package/dist/internal/engine/bindings/memory-forget-tool.js +1 -1
  33. package/dist/internal/engine/bindings/memory-list-tool.js +1 -1
  34. package/dist/internal/engine/bindings/memory-recall-tool.js +1 -1
  35. package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +1 -1
  36. package/dist/internal/engine/bindings/memory-stats-tool.js +1 -1
  37. package/dist/internal/engine/bindings/memory-store-tool.js +3 -3
  38. package/dist/internal/engine/bindings/memory-tool-access.d.ts +1 -1
  39. package/dist/internal/engine/bindings/memory-tool-access.js +1 -1
  40. package/dist/internal/engine/bindings/memory-tool-results.d.ts +1 -1
  41. package/dist/internal/engine/bindings/memory-tool-results.js +1 -1
  42. package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +5 -5
  43. package/dist/internal/engine/bindings/memory-tool-schemas.js +1 -1
  44. package/dist/internal/engine/bindings/memory-update-tool.js +2 -2
  45. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +4 -4
  46. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +2 -2
  47. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +4 -4
  48. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +1 -1
  49. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +6 -6
  50. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +2 -2
  51. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +2 -2
  52. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +3 -3
  53. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +1 -1
  54. package/dist/internal/engine/extraction/atomic-memory-extraction.d.ts +1 -1
  55. package/dist/internal/engine/extraction/atomic-memory-extraction.js +1 -1
  56. package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.d.ts +1 -1
  57. package/dist/internal/engine/extraction/b-profile-section-rekey.d.ts +5 -5
  58. package/dist/internal/engine/extraction/capture-policy-detector.d.ts +1 -1
  59. package/dist/internal/engine/extraction/embedding-provider-client.js +1 -1
  60. package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +2 -2
  61. package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +1 -1
  62. package/dist/internal/engine/extraction/memory-temporality-classifier.js +1 -1
  63. package/dist/internal/engine/observability/adapter.d.ts +1 -1
  64. package/dist/internal/engine/observability/adapter.js +1 -1
  65. package/dist/internal/engine/observability/memory-snapshot.d.ts +1 -1
  66. package/dist/internal/engine/observability/observable-embedder.d.ts +1 -1
  67. package/dist/internal/engine/observability/observable-embedder.js +1 -1
  68. package/dist/internal/engine/observability/observable-llm-client.d.ts +1 -1
  69. package/dist/internal/engine/observability/observable-memory-store.d.ts +1 -1
  70. package/dist/internal/engine/observability/observable-memory-store.js +1 -1
  71. package/dist/internal/engine/observability/observable-retriever.d.ts +1 -1
  72. package/dist/internal/engine/observability/runtime-diagnostics.d.ts +1 -1
  73. package/dist/internal/engine/observability/runtime-diagnostics.js +1 -1
  74. package/dist/internal/engine/operations/memory-tier-promoter.d.ts +1 -1
  75. package/dist/internal/engine/operations/runtime-audit-log.d.ts +2 -2
  76. package/dist/internal/engine/provider/provider-registration.d.ts +4 -4
  77. package/dist/internal/engine/provider/provider-row-renderer.d.ts +1 -1
  78. package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +1 -1
  79. package/dist/internal/engine/reflection/reflection-command-hooks.js +1 -1
  80. package/dist/internal/engine/reflection/reflection-deps.d.ts +1 -1
  81. package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +1 -1
  82. package/dist/internal/engine/reflection/reflection-embedded-generator.js +1 -1
  83. package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +1 -1
  84. package/dist/internal/engine/reflection/reflection-injection-hooks.js +1 -1
  85. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +1 -1
  86. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +1 -1
  87. package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +3 -3
  88. package/dist/internal/engine/reflection/strategy-hook-runner.js +2 -2
  89. package/dist/internal/engine/retrieval/access-tracker.d.ts +1 -1
  90. package/dist/internal/engine/retrieval/retriever.d.ts +1 -1
  91. package/dist/internal/engine/shared/memory-kind-policy.d.ts +1 -1
  92. package/dist/internal/engine/shared/paths.d.ts +2 -2
  93. package/dist/internal/engine/shared/types.d.ts +2 -2
  94. package/dist/internal/engine/shared/types.js +1 -1
  95. package/dist/internal/engine/telemetry/observe-ledger.d.ts +1 -1
  96. package/dist/internal/engine/telemetry/observe-ledger.js +1 -1
  97. package/dist/internal/model/agent-llm-port.d.ts +1 -1
  98. package/dist/internal/model/llm-client.d.ts +2 -2
  99. package/dist/internal/model/llm-client.js +1 -1
  100. package/dist/internal/model/llm-mode-routing.d.ts +1 -1
  101. package/dist/internal/store/maintenance.d.ts +2 -2
  102. package/dist/internal/store/maintenance.js +31 -6
  103. package/dist/internal/store/store.d.ts +3 -3
  104. package/dist/internal/store/store.js +2 -2
  105. package/dist/{llm-client-BhkzlTnH.js → llm-client-BOkokxti.js} +1 -0
  106. package/dist/{llm-client-PC0yQuCq.d.ts → llm-client-BdS_IKvU.d.ts} +2 -1
  107. package/dist/{log-site-catalog.generated-NI-E9zjv.js → log-site-catalog.generated-6Yhsft4u.js} +160 -160
  108. package/dist/log-site-catalog.json +1 -1
  109. package/dist/{memory-kind-policy-DnHY7l0n.d.ts → memory-kind-policy-cIq80koH.d.ts} +1 -1
  110. package/dist/{memory-metadata-codec-DbrRyhCg.d.ts → memory-metadata-codec-DqmbQiE6.d.ts} +1 -1
  111. package/dist/{memory-runtime-BKBFbD1E.js → memory-runtime-CvxA1mP0.js} +247 -177
  112. package/dist/{memory-snapshot-shzK-0C8.d.ts → memory-snapshot-DBcnAnOn.d.ts} +2 -2
  113. package/dist/{memory-store-base-Dx6oSqiv.d.ts → memory-store-base-5tTeqT7l.d.ts} +2 -2
  114. package/dist/{memory-temporality-classifier-AetVby94.js → memory-temporality-classifier-C6MW_0i4.js} +1 -1
  115. package/dist/{memory-temporality-classifier-D91grvZ3.d.ts → memory-temporality-classifier-DztzPNxV.d.ts} +1 -1
  116. package/dist/{memory-tier-promoter-DzX7GMZ2.d.ts → memory-tier-promoter-Du9gPBxH.d.ts} +1 -1
  117. package/dist/{memory-tool-dependencies-4Vl4QwBY.js → memory-tool-dependencies-CiofG6Lj.js} +1 -1
  118. package/dist/memory-tool-dependencies-CrbtLLjj.d.ts +14 -0
  119. package/dist/{observable-embedder-rKGU0LqW.d.ts → observable-embedder-B7Si8IxG.d.ts} +1 -1
  120. package/dist/{observable-llm-client-Cw04DElM.d.ts → observable-llm-client-BD0_NE26.d.ts} +3 -3
  121. package/dist/{observable-memory-store-CHLQvW9E.d.ts → observable-memory-store-CHC6Dy1d.d.ts} +4 -4
  122. package/dist/{observable-retriever-DJKBEkBC.d.ts → observable-retriever-CTkpsSKo.d.ts} +5 -5
  123. package/dist/paths-BNJZ-i4I.d.ts +1 -0
  124. package/dist/{plugin-config-observe-schema-BORZ9_7q.js → plugin-config-observe-schema-ue9XxUj_.js} +2 -1
  125. package/dist/{plugin-config-schema-CCwv_K7R.d.ts → plugin-config-schema-B-Zve3i5.d.ts} +2 -2
  126. package/dist/{plugin-config-schema-CC-2N9Xw.js → plugin-config-schema-hIfZTELX.js} +1 -1
  127. package/dist/{profile-DbIDAmnc.d.ts → profile-8bUJR11P.d.ts} +1 -1
  128. package/dist/{profile-section-writer-BV605K78.js → profile-section-writer-DYcoa4ld.js} +2 -2
  129. package/dist/{reflection-command-hooks-h2CbYuXx.d.ts → reflection-command-hooks-BkbZyh-G.d.ts} +4 -4
  130. package/dist/{reflection-command-hooks-CTYkYqM3.js → reflection-command-hooks-_AiaIqap.js} +3 -3
  131. package/dist/{reflection-deps-MWVeBZcs.d.ts → reflection-deps-r8wTzFMJ.d.ts} +3 -3
  132. package/dist/{reflection-embedded-generator-D5OhLLVw.js → reflection-embedded-generator-B5K0O1sJ.js} +1 -1
  133. package/dist/{reflection-embedded-generator-Dk7sL8uy.d.ts → reflection-embedded-generator-BAsTsaVA.d.ts} +4 -4
  134. package/dist/{reflection-injection-hooks-B0fGkENX.d.ts → reflection-injection-hooks-Cn-VUTIN.d.ts} +4 -4
  135. package/dist/{reflection-lifecycle-hooks-Bg_JBS6c.d.ts → reflection-lifecycle-hooks-rCqXcF1o.d.ts} +3 -3
  136. package/dist/rem-batch-executor-Dpysz3or.js +2 -0
  137. package/dist/{rem-batch-executor-vssXCmmE.js → rem-trigger-DiHK3BKP.js} +881 -138
  138. package/dist/{retriever-CXeB7-A2.d.ts → retriever-CI0r-RAK.d.ts} +6 -6
  139. package/dist/{runtime-audit-log-CIYiNvwf.d.ts → runtime-audit-log-B_tsjFZl.d.ts} +1 -1
  140. package/dist/{server-BkDfjx4w.js → server-0KpYuZ69.js} +16 -22
  141. package/dist/sidecar/main.js +2 -3
  142. package/dist/sno-station-mem-runtime-dependencies-eO6jFEYJ.d.ts +31 -0
  143. package/dist/{sno-station-mem-runtime-dependencies-DEdpOj7z.js → sno-station-mem-runtime-dependencies-jmuWbSfR.js} +6 -6
  144. package/dist/{store-D3n1P7Xn.js → store-B81Qk2RF.js} +13 -2
  145. package/dist/{store-Dbo7MIzt.d.ts → store-h8QmkTwl.d.ts} +8 -2
  146. package/dist/{strategy-hook-runner-C6qUCnzY.d.ts → strategy-hook-runner-C3WFg1oP.d.ts} +7 -7
  147. package/dist/{strategy-hook-runner-CHpG8vXD.js → strategy-hook-runner-CD5X8gs3.js} +1 -1
  148. package/dist/{types-DvQ6nTNC.d.ts → types-Dcr6GKHy.d.ts} +1 -1
  149. package/package.json +3 -3
  150. package/dist/memory-tool-dependencies-BGFjBpkG.d.ts +0 -14
  151. package/dist/paths-DHU342hf.d.ts +0 -1
  152. package/dist/rem-batch-executor-_J7QoDuG.js +0 -2
  153. package/dist/rem-trigger-BZBf_rmt.js +0 -730
  154. package/dist/routes-DLHT__Ay.js +0 -60
  155. package/dist/sno-station-mem-runtime-dependencies-DjA-KpD8.d.ts +0 -31
package/README.md CHANGED
@@ -28,7 +28,7 @@ Who it is for: you do not use this package directly. Follow the
28
28
  plugins use to reach the service.
29
29
 
30
30
  ```bash
31
- npm install @snoai/memory@1.2.3
31
+ npm install @snoai/memory@1.2.5
32
32
  ```
33
33
 
34
34
  Needs Node.js 22.22.3+, 24.15.0+ or 25.9.0+. Licensed under Apache-2.0.
@@ -1,7 +1,7 @@
1
- import { v as MemoryMetadata } from "./types-DvQ6nTNC.js";
1
+ import { v as MemoryMetadata } from "./types-Dcr6GKHy.js";
2
2
  import { sn as RecallLifecycleConfig } from "./index-DL8AVj0Z.js";
3
- import { C as MemoryStore } from "./memory-store-base-Dx6oSqiv.js";
4
- import "./store-Dbo7MIzt.js";
3
+ import { C as MemoryStore } from "./memory-store-base-5tTeqT7l.js";
4
+ import "./store-h8QmkTwl.js";
5
5
  //#region src/engine/retrieval/access-tracker.d.ts
6
6
  interface AccessMetadata {
7
7
  readonly accessCount: number;
@@ -199,6 +199,7 @@ var PluginObservability = class {
199
199
  component: {
200
200
  "claude-code": "mem-claude",
201
201
  codex: "mem-codex",
202
+ cursor: "mem-cursor",
202
203
  openclaw: "mem-claw",
203
204
  hermes: "mem-hermes"
204
205
  }[this.agentId],
@@ -1,5 +1,5 @@
1
- import { t as PluginConfig } from "./plugin-config-schema-CCwv_K7R.js";
2
- import "./types-DvQ6nTNC.js";
1
+ import { t as PluginConfig } from "./plugin-config-schema-B-Zve3i5.js";
2
+ import "./types-Dcr6GKHy.js";
3
3
  import { t as ObserveLogger } from "./best-effort-BPZSzKk0.js";
4
4
  import { AgentId, EventType, JsonObject } from "@snoai/observability";
5
5
  //#region src/engine/observability/cost-aggregator.d.ts
@@ -48,6 +48,8 @@ type AgentLlmCompletion = {
48
48
  };
49
49
  interface AgentLlmPort {
50
50
  complete(request: AgentLlmRequest): Promise<AgentLlmCompletion>;
51
+ /** Whether a host is listening to answer the next call; absent means the port cannot tell. */
52
+ reachable?(): Promise<boolean>;
51
53
  }
52
54
  //#endregion
53
55
  export { AgentLlmPort as n, AgentLlmRequest as r, AgentLlmCompletion as t };
@@ -2,22 +2,22 @@ import { ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET, ATOMIC_CAPTURE_TIMEOUT_MS, ATOMIC_E
2
2
  import "./internal/engine/i18n/locales.js";
3
3
  import { $ as FIXED_MEMORY_SNO_EXTRACT_PROFILE, Q as FIXED_MEMORY_SNO_EXTRACT_CHAT } from "./signed-registry-constants-yq3DlG3B.js";
4
4
  import { redactSecrets } from "./internal/engine/security/redact.js";
5
- import { a as isTerminalLlmFailure, i as createLlmClient, n as LlmClientTerminalError } from "./llm-client-BhkzlTnH.js";
5
+ import { a as isTerminalLlmFailure, i as createLlmClient, n as LlmClientTerminalError } from "./llm-client-BOkokxti.js";
6
6
  import { n as readModelReplyJson } from "./model-reply-text-CKopStP2.js";
7
7
  import { resolveLlmRoute } from "./internal/model/llm-mode-routing.js";
8
8
  import { n as ATOMIC_EXTRACTION_SKILL_HASH, r as atomicExtractionSkillReference, t as ATOMIC_EXTRACTION_SKILL } from "./atomic-extraction-skill-CcXmuCqL.js";
9
9
  import { stripEnvelopeMetadata } from "./internal/engine/extraction/extraction-text-sanitizer.js";
10
10
  import { a as sessionZoneCarriedBy, t as calculateCalendarTime } from "./calendar-instruction-CzqZbAPG.js";
11
- import "./memory-temporality-classifier-AetVby94.js";
11
+ import "./memory-temporality-classifier-C6MW_0i4.js";
12
12
  import { t as appendAuditEntry } from "./runtime-audit-log-BCeujlEp.js";
13
13
  import { a as parseAtomicCaptureReply, c as atomic_extraction_response_schema_default, i as fallbackAtomicCapturedFact, l as excludeProgressRecords, n as ATOMIC_ENRICHMENT_RESPONSE_JSON_SCHEMA, o as parseAtomicEnrichmentReply, r as ATOMIC_EXTRACTION_RESPONSE_JSON_SCHEMA, s as parseAtomicExtractionReply, t as ATOMIC_CAPTURE_RESPONSE_JSON_SCHEMA } from "./atomic-extraction-reply-BJ9XV_9s.js";
14
14
  import { adapterAViewFromRecord, isAdapterAVerdictReply, parseAdapterAChatVerdict, renderAdapterAChatPrompt, renderAdapterAPrompt } from "./internal/engine/rem/index.js";
15
15
  import { n as state_vocabulary_default, r as attribute_dictionary_default, t as relations } from "./relation-dictionary-Cev1kyLe.js";
16
16
  import { g as randomUUID$1 } from "./memory-store-shared-DqpWJXZZ.js";
17
- import { d as normalizeEntityName, f as recordAtomicEntityIdentityJournal, g as readAtomicArrivalRetirementCandidateSet, h as journalAtomicArrivalRetirementRefusal, m as closeAtomicArrivalRetirementTargets, u as listAtomicMemoryEntityCandidates, y as normalizeMemoryRelationPredicate } from "./store-D3n1P7Xn.js";
17
+ import { b as normalizeMemoryRelationPredicate, d as normalizeEntityName, f as recordAtomicEntityIdentityJournal, g as readAtomicArrivalRetirementCandidateSet, h as journalAtomicArrivalRetirementRefusal, m as closeAtomicArrivalRetirementTargets, u as listAtomicMemoryEntityCandidates, v as AtomicExtractionCompletedElsewhere } from "./store-B81Qk2RF.js";
18
18
  import { o as normalizeTopicToSectionName } from "./b-profile-section-dictionary-provider-BHkoNqgk.js";
19
19
  import { r as recordTokenCounter } from "./memory-store-write-validation-B_hDG2zf.js";
20
- import { i as prepareDeterministicTaskLifecycleWrite, t as PROFILE_IDENTITY_SECTION } from "./profile-section-writer-BV605K78.js";
20
+ import { i as prepareDeterministicTaskLifecycleWrite, t as PROFILE_IDENTITY_SECTION } from "./profile-section-writer-DYcoa4ld.js";
21
21
  import { z } from "zod";
22
22
  import { countTokens } from "@snoai/chunking";
23
23
  import { createLogger, currentLogContext, privateLogReference, withLogContext } from "@snoai/utils/logger";
@@ -1751,16 +1751,24 @@ async function runAtomicGenericExtractionPass(input) {
1751
1751
  };
1752
1752
  return runAtomicGenericExtractionPass(input);
1753
1753
  }
1754
- const attempts = { count: 0 };
1755
- const outputTokenBudget = Math.min(begin.entry.runParameters.outputTokenBudget, input.runParameters.outputTokenBudget);
1756
- const inputOverflow = input.estimatedInputTokens > begin.entry.runParameters.maxInputTokens;
1757
- if (inputOverflow && !(input.turns.length === 1 && splitTurnContent(input.turns[0]?.content ?? "") !== void 0)) {
1758
- input.store.recordAtomicExtractionCalls(input.ledgerKey, input.nowMs());
1759
- return markPending(input, "input-overflow", null, 0);
1754
+ try {
1755
+ const attempts = { count: 0 };
1756
+ const outputTokenBudget = Math.min(begin.entry.runParameters.outputTokenBudget, input.runParameters.outputTokenBudget);
1757
+ const inputOverflow = input.estimatedInputTokens > begin.entry.runParameters.maxInputTokens;
1758
+ if (inputOverflow && !(input.turns.length === 1 && splitTurnContent(input.turns[0]?.content ?? "") !== void 0)) {
1759
+ input.store.recordAtomicExtractionCalls(input.ledgerKey, input.nowMs());
1760
+ return markPending(input, "input-overflow", null, 0);
1761
+ }
1762
+ const result = inputOverflow ? await splitAtomicCaptureTurn(input, outputTokenBudget, attempts, "") : await captureAtomicWindow(input, outputTokenBudget, attempts);
1763
+ if (result.status === "pending") return markPending(input, result.reason, result.failedReply, attempts.count);
1764
+ return result;
1765
+ } catch (error) {
1766
+ if (error instanceof AtomicExtractionCompletedElsewhere) return {
1767
+ status: "skip",
1768
+ entry: error.entry
1769
+ };
1770
+ throw error;
1760
1771
  }
1761
- const result = inputOverflow ? await splitAtomicCaptureTurn(input, outputTokenBudget, attempts, "") : await captureAtomicWindow(input, outputTokenBudget, attempts);
1762
- if (result.status === "pending") return markPending(input, result.reason, result.failedReply, attempts.count);
1763
- return result;
1764
1772
  }
1765
1773
  async function splitAtomicCaptureWindow(input, outputTokenBudget, attempts) {
1766
1774
  const records = [];
@@ -3505,6 +3513,13 @@ async function runAtomicMemoryExtraction(input) {
3505
3513
  write
3506
3514
  };
3507
3515
  } catch (error) {
3516
+ if (error instanceof AtomicExtractionCompletedElsewhere) {
3517
+ diagnostic.outcome = "skip";
3518
+ return {
3519
+ status: "skip",
3520
+ entry: error.entry
3521
+ };
3522
+ }
3508
3523
  diagnostic.outcome = diagnostic.persisted > 0 ? "partial" : "failed";
3509
3524
  throw error;
3510
3525
  } finally {
@@ -1,9 +1,9 @@
1
- import { i as LlmClientConfig, l as ModelCallId, p as LlmRoutingConfig, r as LlmClient } from "./plugin-config-schema-CCwv_K7R.js";
1
+ import { i as LlmClientConfig, l as ModelCallId, p as LlmRoutingConfig, r as LlmClient } from "./plugin-config-schema-B-Zve3i5.js";
2
2
  import { n as Locale } from "./locales-JxGmkG6t.js";
3
3
  import { qt as AdapterAMemoryView } from "./index-BO4RU_mc.js";
4
- import { C as MemoryStore, c as AtomicExtractionRunParameters, f as AtomicExtractionWriteResult, g as BeginAtomicExtractionChunkResult, r as AtomicExtractionLedgerKey, s as AtomicExtractionReprocessReason, x as MemoryRelationPredicate } from "./memory-store-base-Dx6oSqiv.js";
5
- import "./store-Dbo7MIzt.js";
6
- import "./llm-client-PC0yQuCq.js";
4
+ import { C as MemoryStore, c as AtomicExtractionRunParameters, f as AtomicExtractionWriteResult, g as BeginAtomicExtractionChunkResult, r as AtomicExtractionLedgerKey, s as AtomicExtractionReprocessReason, x as MemoryRelationPredicate } from "./memory-store-base-5tTeqT7l.js";
5
+ import "./store-h8QmkTwl.js";
6
+ import "./llm-client-BdS_IKvU.js";
7
7
  import { z } from "zod";
8
8
  //#region src/engine/extraction/calendar-instruction.d.ts
9
9
  type CalendarPrecision = "year" | "month" | "week" | "day" | "minute";
@@ -1,4 +1,4 @@
1
- import { g as ProductMode } from "./plugin-config-schema-CCwv_K7R.js";
1
+ import { g as ProductMode } from "./plugin-config-schema-B-Zve3i5.js";
2
2
  import { n as Locale } from "./locales-JxGmkG6t.js";
3
3
  import { z } from "zod";
4
4
  //#region src/engine/extraction/b-profile-section-registry.d.ts
@@ -1,4 +1,4 @@
1
- import { h as MemoryCategory } from "./types-DvQ6nTNC.js";
1
+ import { h as MemoryCategory } from "./types-Dcr6GKHy.js";
2
2
  //#region src/engine/extraction/capture-policy-detector.d.ts
3
3
  declare const PROMPT_INJECTION_PATTERNS: RegExp[];
4
4
  /** Implements looks like prompt injection as the local memory capture policy operation. */
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Discovery } from "./internal/contract/discovery.js";
2
- import { B as ScopeCtx, F as JsonValue, H as UsageSignal, I as Message, L as Mutation, M as HostEvent, N as InitRegistration, P as Inspection, R as RecallOptions, V as Turn, et as ContractError, n as MemoryContract, nt as DegradedReason, v as ContractOutputs, z as Registration } from "./index-DtqgCT8u.js";
2
+ import { B as ScopeCtx, F as JsonValue, H as UsageSignal, I as Message, L as Mutation, M as HostEvent, N as InitRegistration, P as Inspection, R as RecallOptions, V as Turn, et as ContractError, n as MemoryContract, nt as DegradedReason, v as ContractOutputs, z as Registration } from "./index-Dg3p5cmw.js";
3
3
  //#region src/contract/client.d.ts
4
4
  export interface ConnectOptions {
5
5
  skinId: string;
package/dist/client.js CHANGED
@@ -8,11 +8,28 @@ import { mkdir, open } from "node:fs/promises";
8
8
  import { readFileSync } from "node:fs";
9
9
  import { request } from "node:http";
10
10
  import { spawn } from "node:child_process";
11
+ import { connect as connect$1 } from "node:net";
11
12
  import { setTimeout } from "node:timers/promises";
12
13
  //#region src/contract/start.ts
14
+ /** True when something accepts connections on the loopback port; the sidecar listens before it writes discovery. */
15
+ function listening(port) {
16
+ return new Promise((resolve) => {
17
+ const socket = connect$1({
18
+ host: "127.0.0.1",
19
+ port
20
+ });
21
+ const done = (open) => {
22
+ socket.destroy();
23
+ resolve(open);
24
+ };
25
+ socket.setTimeout(1e3, () => done(false));
26
+ socket.once("connect", () => done(true));
27
+ socket.once("error", () => done(false));
28
+ });
29
+ }
13
30
  async function startSidecar(memoryPackage) {
14
31
  const current = await readDiscovery();
15
- if (current && processAlive(current.pid)) {
32
+ if (current && processAlive(current.pid) && await listening(current.port)) {
16
33
  const deadline = Date.now() + MEMORY_START_TIMEOUT_MS;
17
34
  while (Date.now() < deadline) {
18
35
  if (await checkDiscovery(current).then(() => true, () => false)) return current;
@@ -50,7 +67,7 @@ async function startSidecar(memoryPackage) {
50
67
  const deadline = Date.now() + MEMORY_START_TIMEOUT_MS;
51
68
  while (Date.now() < deadline) {
52
69
  const discovery = await readDiscovery();
53
- if (discovery && processAlive(discovery.pid)) {
70
+ if (discovery && processAlive(discovery.pid) && await listening(discovery.port)) {
54
71
  await checkDiscovery(discovery);
55
72
  return discovery;
56
73
  }
@@ -197,6 +197,37 @@ const CODING_SKIN_HOOKS = {
197
197
  timeout: 8
198
198
  }
199
199
  };
200
+ /** Cursor's hook events (`hooks.json` names); timeouts match the Claude/Codex event each one stands in for. */
201
+ const CODING_SKIN_CURSOR_HOOKS = {
202
+ sessionStart: {
203
+ subcommand: "session-start",
204
+ timeout: 15
205
+ },
206
+ beforeSubmitPrompt: {
207
+ subcommand: "user-prompt-submit",
208
+ timeout: 8
209
+ },
210
+ afterAgentResponse: {
211
+ subcommand: "after-agent-response",
212
+ timeout: 5
213
+ },
214
+ afterAgentThought: {
215
+ subcommand: "after-agent-thought",
216
+ timeout: 5
217
+ },
218
+ stop: {
219
+ subcommand: "stop",
220
+ timeout: 5
221
+ },
222
+ preCompact: {
223
+ subcommand: "pre-compact",
224
+ timeout: 5
225
+ },
226
+ sessionEnd: {
227
+ subcommand: "session-end",
228
+ timeout: 8
229
+ }
230
+ };
200
231
  const CODING_SKIN_MODEL_COMMANDS = [
201
232
  "recall",
202
233
  "get",
@@ -206,6 +237,10 @@ const CODING_SKIN_MODEL_COMMANDS = [
206
237
  function shellQuote(value) {
207
238
  return `'${value.replaceAll("'", "'\\''")}'`;
208
239
  }
240
+ /** Linux reports a running binary that was replaced on disk as "<path> (deleted)"; the path itself is still the right one. */
241
+ function snoProgramPath(path) {
242
+ return path.endsWith(" (deleted)") ? path.slice(0, -10) : path;
243
+ }
209
244
  /** The command an agent hook runs: the `sno` binary that ran setup, then `memory hook <event> --harness <name>`. */
210
245
  function codingSkinHookCommand(snoPath, subcommand, harness) {
211
246
  return `${shellQuote(snoPath)} memory hook ${subcommand} --harness ${harness}`;
@@ -217,7 +252,7 @@ function isCodingSkinHookCommand(command, subcommand, harness) {
217
252
  if (!trimmed.endsWith(suffix)) return false;
218
253
  const encoded = trimmed.slice(0, -suffix.length);
219
254
  const program = encoded.startsWith("'") && encoded.endsWith("'") ? encoded.slice(1, -1).replaceAll("'\\''", "'") : encoded;
220
- return basename(program) === "sno";
255
+ return basename(snoProgramPath(program)) === "sno";
221
256
  }
222
257
  //#endregion
223
- export { EMPTY_ACTIVITY_CURSOR as _, CODING_SKIN_LEDGER_MAX_CHARS as a, isAgentText as b, CODING_SKIN_MODEL_COMMANDS as c, CODING_SKIN_RETRY_DELAYS_MS as d, CODING_SKIN_SESSION_QUERY as f, shellQuote as g, isCodingSkinHookCommand as h, CODING_SKIN_IMPORT_INTERVAL_MS as i, CODING_SKIN_RECALL_ITEM_MAX_CHARS as l, codingSkinHookCommand as m, CODING_SKIN_CHILD_MAX_BUFFER_BYTES as n, CODING_SKIN_MANUAL_SESSION_ID as o, CODING_SKIN_WORKER_LIFETIME_MS as p, CODING_SKIN_HOOKS as r, CODING_SKIN_MAX_ATTEMPTS as s, CODING_SKIN_CHILD_DEADLINE_MS as t, CODING_SKIN_RECALL_SENTENCE_MAX_CHARS as u, activityCursorSchema as v, readNewLines as x, foldActivity as y };
258
+ export { readNewLines as C, isAgentText as S, shellQuote as _, CODING_SKIN_IMPORT_INTERVAL_MS as a, activityCursorSchema as b, CODING_SKIN_MAX_ATTEMPTS as c, CODING_SKIN_RECALL_SENTENCE_MAX_CHARS as d, CODING_SKIN_RETRY_DELAYS_MS as f, isCodingSkinHookCommand as g, codingSkinHookCommand as h, CODING_SKIN_HOOKS as i, CODING_SKIN_MODEL_COMMANDS as l, CODING_SKIN_WORKER_LIFETIME_MS as m, CODING_SKIN_CHILD_MAX_BUFFER_BYTES as n, CODING_SKIN_LEDGER_MAX_CHARS as o, CODING_SKIN_SESSION_QUERY as p, CODING_SKIN_CURSOR_HOOKS as r, CODING_SKIN_MANUAL_SESSION_ID as s, CODING_SKIN_CHILD_DEADLINE_MS as t, CODING_SKIN_RECALL_ITEM_MAX_CHARS as u, snoProgramPath as v, foldActivity as x, EMPTY_ACTIVITY_CURSOR as y };
@@ -1,6 +1,6 @@
1
1
  import { ObserveLedgerRow, appendObserveLedgerRows } from "./internal/engine/telemetry/observe-ledger.js";
2
2
  import { SKILL_CATEGORIES, skillVersionFor } from "./internal/config/skill-categories.js";
3
- import { HOST_MODEL_CALLBACK_HOST, HOST_MODEL_CALLBACK_PATH } from "./internal/config/skin-defaults.js";
3
+ import { HOST_MODEL_CALLBACK_HOST, HOST_MODEL_CALLBACK_PATH, HOST_MODEL_DEADLINE_HEADER } from "./internal/config/skin-defaults.js";
4
4
  import { z } from "zod";
5
5
  //#region config/session-activity.d.ts
6
6
  /** True when the text of a user message came from another agent's tooling: a Reach ring or seat start, or a heartbeat wake. */
@@ -101,12 +101,46 @@ export declare const CODING_SKIN_HOOKS: {
101
101
  };
102
102
  };
103
103
  export type CodingSkinHookName = keyof typeof CODING_SKIN_HOOKS;
104
+ /** Cursor's hook events (`hooks.json` names); timeouts match the Claude/Codex event each one stands in for. */
105
+ export declare const CODING_SKIN_CURSOR_HOOKS: {
106
+ readonly sessionStart: {
107
+ readonly subcommand: "session-start";
108
+ readonly timeout: 15;
109
+ };
110
+ readonly beforeSubmitPrompt: {
111
+ readonly subcommand: "user-prompt-submit";
112
+ readonly timeout: 8;
113
+ };
114
+ readonly afterAgentResponse: {
115
+ readonly subcommand: "after-agent-response";
116
+ readonly timeout: 5;
117
+ };
118
+ readonly afterAgentThought: {
119
+ readonly subcommand: "after-agent-thought";
120
+ readonly timeout: 5;
121
+ };
122
+ readonly stop: {
123
+ readonly subcommand: "stop";
124
+ readonly timeout: 5;
125
+ };
126
+ readonly preCompact: {
127
+ readonly subcommand: "pre-compact";
128
+ readonly timeout: 5;
129
+ };
130
+ readonly sessionEnd: {
131
+ readonly subcommand: "session-end";
132
+ readonly timeout: 8;
133
+ };
134
+ };
135
+ export type CodingSkinCursorHookName = keyof typeof CODING_SKIN_CURSOR_HOOKS;
104
136
  export declare const CODING_SKIN_MODEL_COMMANDS: readonly ["recall", "get", "remember", "correct"];
105
- export type CodingSkinHarness = "claude" | "codex";
137
+ export type CodingSkinHarness = "claude" | "codex" | "cursor";
106
138
  export declare function shellQuote(value: string): string;
139
+ /** Linux reports a running binary that was replaced on disk as "<path> (deleted)"; the path itself is still the right one. */
140
+ export declare function snoProgramPath(path: string): string;
107
141
  /** The command an agent hook runs: the `sno` binary that ran setup, then `memory hook <event> --harness <name>`. */
108
142
  export declare function codingSkinHookCommand(snoPath: string, subcommand: string, harness: CodingSkinHarness): string;
109
143
  /** True for a hook command of that shape, whatever the path to `sno` is. */
110
144
  export declare function isCodingSkinHookCommand(command: string, subcommand: string, harness: CodingSkinHarness): boolean;
111
145
  //#endregion
112
- export { type ActivityCursor, type ActivityRecord, HOST_MODEL_CALLBACK_HOST, HOST_MODEL_CALLBACK_PATH, type ObserveLedgerRow, SKILL_CATEGORIES, type SessionActivityPayload, appendObserveLedgerRows, skillVersionFor };
146
+ export { type ActivityCursor, type ActivityRecord, HOST_MODEL_CALLBACK_HOST, HOST_MODEL_CALLBACK_PATH, HOST_MODEL_DEADLINE_HEADER, type ObserveLedgerRow, SKILL_CATEGORIES, type SessionActivityPayload, appendObserveLedgerRows, skillVersionFor };
@@ -1,5 +1,5 @@
1
1
  import { appendObserveLedgerRows } from "./internal/engine/telemetry/observe-ledger.js";
2
2
  import { SKILL_CATEGORIES, skillVersionFor } from "./internal/config/skill-categories.js";
3
- import { HOST_MODEL_CALLBACK_HOST, HOST_MODEL_CALLBACK_PATH } from "./internal/config/skin-defaults.js";
4
- import { _ as EMPTY_ACTIVITY_CURSOR, a as CODING_SKIN_LEDGER_MAX_CHARS, b as isAgentText, c as CODING_SKIN_MODEL_COMMANDS, d as CODING_SKIN_RETRY_DELAYS_MS, f as CODING_SKIN_SESSION_QUERY, g as shellQuote, h as isCodingSkinHookCommand, i as CODING_SKIN_IMPORT_INTERVAL_MS, l as CODING_SKIN_RECALL_ITEM_MAX_CHARS, m as codingSkinHookCommand, n as CODING_SKIN_CHILD_MAX_BUFFER_BYTES, o as CODING_SKIN_MANUAL_SESSION_ID, p as CODING_SKIN_WORKER_LIFETIME_MS, r as CODING_SKIN_HOOKS, s as CODING_SKIN_MAX_ATTEMPTS, t as CODING_SKIN_CHILD_DEADLINE_MS, u as CODING_SKIN_RECALL_SENTENCE_MAX_CHARS, v as activityCursorSchema, x as readNewLines, y as foldActivity } from "./coding-skin-C7gwOKsc.js";
5
- export { CODING_SKIN_CHILD_DEADLINE_MS, CODING_SKIN_CHILD_MAX_BUFFER_BYTES, CODING_SKIN_HOOKS, CODING_SKIN_IMPORT_INTERVAL_MS, CODING_SKIN_LEDGER_MAX_CHARS, CODING_SKIN_MANUAL_SESSION_ID, CODING_SKIN_MAX_ATTEMPTS, CODING_SKIN_MODEL_COMMANDS, CODING_SKIN_RECALL_ITEM_MAX_CHARS, CODING_SKIN_RECALL_SENTENCE_MAX_CHARS, CODING_SKIN_RETRY_DELAYS_MS, CODING_SKIN_SESSION_QUERY, CODING_SKIN_WORKER_LIFETIME_MS, EMPTY_ACTIVITY_CURSOR, HOST_MODEL_CALLBACK_HOST, HOST_MODEL_CALLBACK_PATH, SKILL_CATEGORIES, activityCursorSchema, appendObserveLedgerRows, codingSkinHookCommand, foldActivity, isAgentText, isCodingSkinHookCommand, readNewLines, shellQuote, skillVersionFor };
3
+ import { HOST_MODEL_CALLBACK_HOST, HOST_MODEL_CALLBACK_PATH, HOST_MODEL_DEADLINE_HEADER } from "./internal/config/skin-defaults.js";
4
+ import { C as readNewLines, S as isAgentText, _ as shellQuote, a as CODING_SKIN_IMPORT_INTERVAL_MS, b as activityCursorSchema, c as CODING_SKIN_MAX_ATTEMPTS, d as CODING_SKIN_RECALL_SENTENCE_MAX_CHARS, f as CODING_SKIN_RETRY_DELAYS_MS, g as isCodingSkinHookCommand, h as codingSkinHookCommand, i as CODING_SKIN_HOOKS, l as CODING_SKIN_MODEL_COMMANDS, m as CODING_SKIN_WORKER_LIFETIME_MS, n as CODING_SKIN_CHILD_MAX_BUFFER_BYTES, o as CODING_SKIN_LEDGER_MAX_CHARS, p as CODING_SKIN_SESSION_QUERY, r as CODING_SKIN_CURSOR_HOOKS, s as CODING_SKIN_MANUAL_SESSION_ID, t as CODING_SKIN_CHILD_DEADLINE_MS, u as CODING_SKIN_RECALL_ITEM_MAX_CHARS, v as snoProgramPath, x as foldActivity, y as EMPTY_ACTIVITY_CURSOR } from "./coding-skin-_Qu3INZD.js";
5
+ export { CODING_SKIN_CHILD_DEADLINE_MS, CODING_SKIN_CHILD_MAX_BUFFER_BYTES, CODING_SKIN_CURSOR_HOOKS, CODING_SKIN_HOOKS, CODING_SKIN_IMPORT_INTERVAL_MS, CODING_SKIN_LEDGER_MAX_CHARS, CODING_SKIN_MANUAL_SESSION_ID, CODING_SKIN_MAX_ATTEMPTS, CODING_SKIN_MODEL_COMMANDS, CODING_SKIN_RECALL_ITEM_MAX_CHARS, CODING_SKIN_RECALL_SENTENCE_MAX_CHARS, CODING_SKIN_RETRY_DELAYS_MS, CODING_SKIN_SESSION_QUERY, CODING_SKIN_WORKER_LIFETIME_MS, EMPTY_ACTIVITY_CURSOR, HOST_MODEL_CALLBACK_HOST, HOST_MODEL_CALLBACK_PATH, HOST_MODEL_DEADLINE_HEADER, SKILL_CATEGORIES, activityCursorSchema, appendObserveLedgerRows, codingSkinHookCommand, foldActivity, isAgentText, isCodingSkinHookCommand, readNewLines, shellQuote, skillVersionFor, snoProgramPath };
@@ -7,6 +7,65 @@ import { LRUCache } from "lru-cache";
7
7
  import { isLowercaseCanonicalUUIDv7 } from "@snoai/common-core";
8
8
  import { z } from "zod";
9
9
  import { CHUNKING_VERSION, DEFAULT_AGGREGATION_CONFIG, DEFAULT_CHUNK_CONFIG, HEAD_EXTRACT_MIN_CONTENT_TOKENS, HEAD_EXTRACT_OVERLAP_DROP_RATIO, HEAD_EXTRACT_TOKEN_BUDGET } from "@snoai/chunking";
10
+ //#region src/contract/routes.ts
11
+ const MEMORY_ROUTES = {
12
+ init: {
13
+ path: "/v1/init",
14
+ timeoutMs: 3e4
15
+ },
16
+ hostEvent: {
17
+ path: "/v1/host-event",
18
+ timeoutMs: 3e4
19
+ },
20
+ getRecall: {
21
+ path: "/v1/get-recall",
22
+ timeoutMs: 12e4
23
+ },
24
+ capture: {
25
+ path: "/v1/capture",
26
+ timeoutMs: 9e5
27
+ },
28
+ mutate: {
29
+ path: "/v1/mutate",
30
+ timeoutMs: 9e5
31
+ },
32
+ inspect: {
33
+ path: "/v1/inspect",
34
+ timeoutMs: 3e4
35
+ },
36
+ recordUsage: {
37
+ path: "/v1/record-usage",
38
+ timeoutMs: 3e4
39
+ },
40
+ onSessionEnd: {
41
+ path: "/v1/on-session-end",
42
+ timeoutMs: 9e5
43
+ },
44
+ staticBlock: {
45
+ path: "/v1/static-block",
46
+ timeoutMs: 3e4
47
+ }
48
+ };
49
+ const MEMORY_BODY_LIMIT_BYTES = 8388608;
50
+ const MEMORY_SKIN_HEADER = "x-sno-station-mem-skin";
51
+ const REM_SIDECAR_TOKEN_HEADER = "x-sidecar-token";
52
+ function memoryMethod(pathname) {
53
+ return Object.keys(MEMORY_ROUTES).find((method) => MEMORY_ROUTES[method].path === pathname);
54
+ }
55
+ const MEMORY_ERROR_STATUS = {
56
+ "sidecar-unreachable": 503,
57
+ "sidecar-unresponsive": 503,
58
+ "principal-mismatch": 403,
59
+ "store-mismatch": 409,
60
+ "no-agent-endpoint": 503,
61
+ "invalid-input": 400,
62
+ timeout: 504,
63
+ "storage-unavailable": 503,
64
+ "engine-failed": 500
65
+ };
66
+ const MEMORY_RECONNECT_INTERVAL_MS = 1e3;
67
+ const MEMORY_DEFAULT_SKIN_ID = "default";
68
+ //#endregion
10
69
  //#region ../embedder/dist/index.mjs
11
70
  /**
12
71
  * Shared embedding constants — single source of truth for all apps.
@@ -1347,7 +1406,8 @@ const AGENT_IDS = [
1347
1406
  PERSISTED_PROVIDER_SYSTEM,
1348
1407
  FIXED_PROTOCOL_VALUE_70,
1349
1408
  FIXED_PROTOCOL_VALUE_71,
1350
- FIXED_PROTOCOL_VALUE_72
1409
+ FIXED_PROTOCOL_VALUE_72,
1410
+ "cursor"
1351
1411
  ];
1352
1412
  const observeAgentIdSchema = z.enum(AGENT_IDS, { error: () => `observe.agentId must be one of ${AGENT_IDS.join(", ")}` });
1353
1413
  /** The observe agent id a skin reports under; a skin id outside the SDK's set is a hard error. */
@@ -2579,4 +2639,4 @@ function readMaintenanceOverrides() {
2579
2639
  };
2580
2640
  }
2581
2641
  //#endregion
2582
- export { FIXED_IDX_MEMORY_ACTIVE_TASK_EVIDENCE_INSTANCE as $, MAX_CHUNK_FETCH_LIMIT as $n, FIXED_VEC_MEMORY as $t, SESSION_STRATEGIES as A, DEFAULT_REFLECTION_SESSION_TTL_MS as An, FIXED_MEMORY_PROVIDER_AGENT_MAPPINGS as At, FIXED_EXTERNAL_VALUE_51 as B, FTS_MERGE_INTERVAL_MS as Bn, FIXED_PROTOCOL_VALUE_64 as Bt, getSnoStationMemStateDir as C, CHUNK_TARGET_TOKENS as Cn, LOCAL_EMBEDDING_CACHE_DIR_DEFAULT as Cr, FIXED_MEMORY_CHUNKS_MEM_IDX as Ct, settingsToPluginConfig as D, DEFAULT_RECALL_LIFECYCLE as Dn, ensureModelDownloaded as Dr, FIXED_MEMORY_MEMORIES_FACT_ID_UPDATE_GUARD as Dt, defaultSettings as E, DEFAULT_IMPORTANCE as En, LocalEmbedProvider as Er, FIXED_MEMORY_MEMORIES_FACT_ID_INSERT_GUARD as Et, extractionConfigSchema as F, EMBEDDER_DIM as Fn, FIXED_MEMORY_SNO_EXTRACT_CHAT as Ft, FIXED_EXTERNAL_VALUE_56 as G, INTEGRITY_CHECK_INTERVAL_MS as Gn, FIXED_PROTOCOL_VALUE_69 as Gt, FIXED_EXTERNAL_VALUE_53 as H, HEAD_EXTRACT_OVERLAP_DROP_RATIO as Hn, FIXED_PROTOCOL_VALUE_66 as Ht, memoryReflectionConfigSchema as I, EMBEDDER_MODEL_DEFAULT as In, FIXED_MEMORY_SNO_EXTRACT_PROFILE as It, FIXED_EXTERNAL_VALUE_62 as J, LIGHTWEIGHT_FUSION_WEIGHT as Jn, FIXED_PROTOCOL_VALUE_75 as Jt, FIXED_EXTERNAL_VALUE_57 as K, INTRA_MEMORY_COSINE_THRESHOLD as Kn, FIXED_PROTOCOL_VALUE_73 as Kt, selfImprovementConfigSchema as L, EMBEDDER_PROVIDER_DEFAULT as Ln, FIXED_MEMORY_TASK_LIFECYCLE_COMMANDS as Lt, isObserveAgentId as M, DEFAULT_RERANK_TIMEOUT_MS as Mn, FIXED_MEMORY_PROVIDER_PROJECT_MAPPINGS as Mt, observeAgentId as N, DEFAULT_SCOPE as Nn, FIXED_MEMORY_ROW_PATH_PATTERN as Nt, MODEL_CALLS as O, DEFAULT_RECALL_TOKEN_BUDGET as On, FIXED_MEMORY_MIGRATION_MARKERS as Ot, observeConfigSchema as P, DEFAULT_VECTOR_WEIGHT as Pn, FIXED_MEMORY_SNO_AI_EXTRACT as Pt, FIXED_IDX_MEMORY_ACTIVE_TASK_CURRENT_REVISION as Q, MAX_CANDIDATE_POOL_SIZE as Qn, FIXED_PROTOCOL_VALUE_79 as Qt, sessionMemoryConfigSchema as R, EVAL_QA_TRACES_FILENAME as Rn, FIXED_MEMORY_UNPLACED_CANDIDATES as Rt, getSidecarSocketPath as S, CHUNK_OVERLAP_TOKENS as Sn, CachedEmbeddingProvider as Sr, FIXED_MEMORY_CHUNKS_MEM_FACET_IDX as St, readSettings as T, DEFAULT_BM25_WEIGHT as Tn, LOCAL_EMBEDDING_MODEL_REVISION as Tr, FIXED_MEMORY_MEMORIES as Tt, FIXED_EXTERNAL_VALUE_54 as U, HEAD_EXTRACT_TOKEN_BUDGET as Un, FIXED_PROTOCOL_VALUE_67 as Ut, FIXED_EXTERNAL_VALUE_52 as V, HEAD_EXTRACT_MIN_CONTENT_TOKENS as Vn, FIXED_PROTOCOL_VALUE_65 as Vt, FIXED_EXTERNAL_VALUE_55 as W, IMPORTANCE_WEIGHT_BASE as Wn, FIXED_PROTOCOL_VALUE_68 as Wt, FIXED_EXTERNAL_VALUE_9 as X, MAINTENANCE_TICK_MS as Xn, FIXED_PROTOCOL_VALUE_77 as Xt, FIXED_EXTERNAL_VALUE_8 as Y, LIGHTWEIGHT_RERANK_PENALTY as Yn, FIXED_PROTOCOL_VALUE_76 as Yt, FIXED_IDX_MEMORY as Z, MAX_AGGREGATION_RESULT_TOKENS as Zn, FIXED_PROTOCOL_VALUE_78 as Zt, readRemTestHoldMs as _, BONUS_TOTAL_INVARIANT as _n, USAGE_OUTBOX_INTERVAL_MS as _r, FIXED_MEMORY_CHUNKS_AD as _t, REM_MODEL_OUTPUT_TOKEN_CAP as a, embeddingConfigSchema as an, MULTI_HIT_BONUS_CAP as ar, FIXED_IDX_MEMORY_MEMORIES_PROJECT as at, getPrincipal as b, CHUNK_MAX_TOKENS as bn, experimentMmrDisabled as br, FIXED_MEMORY_CHUNKS_FTS as bt, REM_SIDECAR_ORIGIN as c, isSupportedLocale as cn, RECENCY_WEIGHT as cr, FIXED_IDX_MEMORY_MEMORIES_PROJECT_TIMESTAMP as ct, getRemDiscoveryPath as d, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET as dn, RERANK_BLEND_CROSS as dr, FIXED_MEMORY_ACTIVE_TASK_INSTANCES as dt, FIXED_VEC_MEMORY_CHUNKS as en, MAX_LIST_LIMIT as er, FIXED_IDX_MEMORY_ACTIVE_TASK_INSTANCES_PROJECTION as et, getRemJobJournalPath as f, ATOMIC_CAPTURE_TIMEOUT_MS as fn, RERANK_BLEND_VECTOR as fr, FIXED_MEMORY_ACTIVE_TASK_MIGRATION_EVIDENCE as ft, readRemOperationalConfig as g, BACKUP_MIN_FREE_DISK_RATIO as gn, USAGE_EVENT_RETENTION_INTERVAL_MS as gr, FIXED_MEMORY_CHUNKS as gt, readMaintenanceOverrides as h, BACKUP_INTERVAL_MS as hn, TIME_DECAY_FLOOR as hr, FIXED_MEMORY_ACTIVE_TASK_TRANSITIONS as ht, REM_JOBS_PATH_PREFIX as i, PERSISTED_PROVIDER_SYSTEM as in, MMR_LAMBDA as ir, FIXED_IDX_MEMORY_MEMORIES_LANE_PROJECT as it, retrievalConfigSchema as j, DEFAULT_RERANK_MODEL as jn, FIXED_MEMORY_PROVIDER_PROJECT_AGENTS as jt, modelCallDestination as k, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS as kn, FIXED_MEMORY_PROFILE_RECOVERY_ENTRIES as kt, REM_SOURCE as l, ADJACENCY_BONUS_CAP as ln, REFLECTION_SLICE_CACHE_TTL_MS as lr, FIXED_MEMORY as lt, isRemTraceEnabled as m, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS as mn, SNO_OBSERVE_FLUSH_TIMEOUT_MS as mr, FIXED_MEMORY_ACTIVE_TASK_REVISIONS as mt, MEMORY_USAGE_FLUSH_INTERVAL_MS as n, PERSISTED_CONTENT_HASH_V1 as nn, MEMORY_SHUTDOWN_TIMEOUT_MS as nr, FIXED_IDX_MEMORY_MEMORIES_CONTENT_HASH as nt, REM_RUN_PATH as o, llmRoutingConfigSchema as on, MULTI_HIT_BONUS_PER_HIT as or, FIXED_IDX_MEMORY_MEMORIES_PROJECT_CONTENT_HASH as ot, getRemTraceLogPath as p, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET as pn, RETRIEVAL_STORAGE_CHUNK_PROFILE as pr, FIXED_MEMORY_ACTIVE_TASK_MIGRATION_MANIFESTS as pt, FIXED_EXTERNAL_VALUE_58 as q, LIGHTWEIGHT_COSINE_WEIGHT as qn, FIXED_PROTOCOL_VALUE_74 as qt, REM_CORRELATION_ID_HEADER as r, PERSISTED_CONTENT_HASH_V3 as rn, MIN_RECALL_TOKEN_BUDGET as rr, FIXED_IDX_MEMORY_MEMORIES_FACT_ID as rt, REM_SIDECAR_HOST as s, SUPPORTED_LOCALES as sn, PLANNER_STATISTICS_INTERVAL_MS as sr, FIXED_IDX_MEMORY_MEMORIES_PROJECT_FACT_KEY_ACTIVE as st, HEALTH_PATH as t, PERSISTED_CANDIDATE_HASH_V1 as tn, MAX_RECALLED_TODO_TOKENS as tr, FIXED_IDX_MEMORY_MEMORIES_CATEGORY as tt, getRemChassisJournalPath as u, ADJACENCY_BONUS_PER_PAIR as un, REM_TRIGGER_CHECK_INTERVAL_MS as ur, FIXED_MEMORY_ACTIVE_TASK_EVIDENCE as ut, SettingsUnavailableError as v, CACHE_TTL_MS as vn, VECTOR_DIMENSION_DEFAULT as vr, FIXED_MEMORY_CHUNKS_AI as vt, getStateDir as w, CHUNK_TOKENIZER_MODE as wn, LOCAL_EMBEDDING_MODEL as wr, FIXED_MEMORY_EXTRACTION_TIMESTAMPS as wt, getSettingsPath as x, CHUNK_MIN_TOKENS as xn, recallLifecycleSchema as xr, FIXED_MEMORY_CHUNKS_MEMORY_ID_IDX as xt, getDiscoveryPath as y, CHUNKING_VERSION as yn, experimentCandidatePoolOverride as yr, FIXED_MEMORY_CHUNKS_AU as yt, FIXED_EXTERNAL_VALUE_49 as z, FORGET_QUERY_MIN_SCORE as zn, FIXED_PROTOCOL_VALUE_63 as zt };
2642
+ export { FIXED_IDX_MEMORY_ACTIVE_TASK_EVIDENCE_INSTANCE as $, MAX_CHUNK_FETCH_LIMIT as $n, FIXED_VEC_MEMORY as $t, SESSION_STRATEGIES as A, DEFAULT_REFLECTION_SESSION_TTL_MS as An, MEMORY_ERROR_STATUS as Ar, FIXED_MEMORY_PROVIDER_AGENT_MAPPINGS as At, FIXED_EXTERNAL_VALUE_51 as B, FTS_MERGE_INTERVAL_MS as Bn, FIXED_PROTOCOL_VALUE_64 as Bt, getSnoStationMemStateDir as C, CHUNK_TARGET_TOKENS as Cn, LOCAL_EMBEDDING_CACHE_DIR_DEFAULT as Cr, FIXED_MEMORY_CHUNKS_MEM_IDX as Ct, settingsToPluginConfig as D, DEFAULT_RECALL_LIFECYCLE as Dn, ensureModelDownloaded as Dr, FIXED_MEMORY_MEMORIES_FACT_ID_UPDATE_GUARD as Dt, defaultSettings as E, DEFAULT_IMPORTANCE as En, LocalEmbedProvider as Er, FIXED_MEMORY_MEMORIES_FACT_ID_INSERT_GUARD as Et, extractionConfigSchema as F, EMBEDDER_DIM as Fn, memoryMethod as Fr, FIXED_MEMORY_SNO_EXTRACT_CHAT as Ft, FIXED_EXTERNAL_VALUE_56 as G, INTEGRITY_CHECK_INTERVAL_MS as Gn, FIXED_PROTOCOL_VALUE_69 as Gt, FIXED_EXTERNAL_VALUE_53 as H, HEAD_EXTRACT_OVERLAP_DROP_RATIO as Hn, FIXED_PROTOCOL_VALUE_66 as Ht, memoryReflectionConfigSchema as I, EMBEDDER_MODEL_DEFAULT as In, FIXED_MEMORY_SNO_EXTRACT_PROFILE as It, FIXED_EXTERNAL_VALUE_62 as J, LIGHTWEIGHT_FUSION_WEIGHT as Jn, FIXED_PROTOCOL_VALUE_75 as Jt, FIXED_EXTERNAL_VALUE_57 as K, INTRA_MEMORY_COSINE_THRESHOLD as Kn, FIXED_PROTOCOL_VALUE_73 as Kt, selfImprovementConfigSchema as L, EMBEDDER_PROVIDER_DEFAULT as Ln, FIXED_MEMORY_TASK_LIFECYCLE_COMMANDS as Lt, isObserveAgentId as M, DEFAULT_RERANK_TIMEOUT_MS as Mn, MEMORY_ROUTES as Mr, FIXED_MEMORY_PROVIDER_PROJECT_MAPPINGS as Mt, observeAgentId as N, DEFAULT_SCOPE as Nn, MEMORY_SKIN_HEADER as Nr, FIXED_MEMORY_ROW_PATH_PATTERN as Nt, MODEL_CALLS as O, DEFAULT_RECALL_TOKEN_BUDGET as On, MEMORY_BODY_LIMIT_BYTES as Or, FIXED_MEMORY_MIGRATION_MARKERS as Ot, observeConfigSchema as P, DEFAULT_VECTOR_WEIGHT as Pn, REM_SIDECAR_TOKEN_HEADER as Pr, FIXED_MEMORY_SNO_AI_EXTRACT as Pt, FIXED_IDX_MEMORY_ACTIVE_TASK_CURRENT_REVISION as Q, MAX_CANDIDATE_POOL_SIZE as Qn, FIXED_PROTOCOL_VALUE_79 as Qt, sessionMemoryConfigSchema as R, EVAL_QA_TRACES_FILENAME as Rn, FIXED_MEMORY_UNPLACED_CANDIDATES as Rt, getSidecarSocketPath as S, CHUNK_OVERLAP_TOKENS as Sn, CachedEmbeddingProvider as Sr, FIXED_MEMORY_CHUNKS_MEM_FACET_IDX as St, readSettings as T, DEFAULT_BM25_WEIGHT as Tn, LOCAL_EMBEDDING_MODEL_REVISION as Tr, FIXED_MEMORY_MEMORIES as Tt, FIXED_EXTERNAL_VALUE_54 as U, HEAD_EXTRACT_TOKEN_BUDGET as Un, FIXED_PROTOCOL_VALUE_67 as Ut, FIXED_EXTERNAL_VALUE_52 as V, HEAD_EXTRACT_MIN_CONTENT_TOKENS as Vn, FIXED_PROTOCOL_VALUE_65 as Vt, FIXED_EXTERNAL_VALUE_55 as W, IMPORTANCE_WEIGHT_BASE as Wn, FIXED_PROTOCOL_VALUE_68 as Wt, FIXED_EXTERNAL_VALUE_9 as X, MAINTENANCE_TICK_MS as Xn, FIXED_PROTOCOL_VALUE_77 as Xt, FIXED_EXTERNAL_VALUE_8 as Y, LIGHTWEIGHT_RERANK_PENALTY as Yn, FIXED_PROTOCOL_VALUE_76 as Yt, FIXED_IDX_MEMORY as Z, MAX_AGGREGATION_RESULT_TOKENS as Zn, FIXED_PROTOCOL_VALUE_78 as Zt, readRemTestHoldMs as _, BONUS_TOTAL_INVARIANT as _n, USAGE_OUTBOX_INTERVAL_MS as _r, FIXED_MEMORY_CHUNKS_AD as _t, REM_MODEL_OUTPUT_TOKEN_CAP as a, embeddingConfigSchema as an, MULTI_HIT_BONUS_CAP as ar, FIXED_IDX_MEMORY_MEMORIES_PROJECT as at, getPrincipal as b, CHUNK_MAX_TOKENS as bn, experimentMmrDisabled as br, FIXED_MEMORY_CHUNKS_FTS as bt, REM_SIDECAR_ORIGIN as c, isSupportedLocale as cn, RECENCY_WEIGHT as cr, FIXED_IDX_MEMORY_MEMORIES_PROJECT_TIMESTAMP as ct, getRemDiscoveryPath as d, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET as dn, RERANK_BLEND_CROSS as dr, FIXED_MEMORY_ACTIVE_TASK_INSTANCES as dt, FIXED_VEC_MEMORY_CHUNKS as en, MAX_LIST_LIMIT as er, FIXED_IDX_MEMORY_ACTIVE_TASK_INSTANCES_PROJECTION as et, getRemJobJournalPath as f, ATOMIC_CAPTURE_TIMEOUT_MS as fn, RERANK_BLEND_VECTOR as fr, FIXED_MEMORY_ACTIVE_TASK_MIGRATION_EVIDENCE as ft, readRemOperationalConfig as g, BACKUP_MIN_FREE_DISK_RATIO as gn, USAGE_EVENT_RETENTION_INTERVAL_MS as gr, FIXED_MEMORY_CHUNKS as gt, readMaintenanceOverrides as h, BACKUP_INTERVAL_MS as hn, TIME_DECAY_FLOOR as hr, FIXED_MEMORY_ACTIVE_TASK_TRANSITIONS as ht, REM_JOBS_PATH_PREFIX as i, PERSISTED_PROVIDER_SYSTEM as in, MMR_LAMBDA as ir, FIXED_IDX_MEMORY_MEMORIES_LANE_PROJECT as it, retrievalConfigSchema as j, DEFAULT_RERANK_MODEL as jn, MEMORY_RECONNECT_INTERVAL_MS as jr, FIXED_MEMORY_PROVIDER_PROJECT_AGENTS as jt, modelCallDestination as k, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS as kn, MEMORY_DEFAULT_SKIN_ID as kr, FIXED_MEMORY_PROFILE_RECOVERY_ENTRIES as kt, REM_SOURCE as l, ADJACENCY_BONUS_CAP as ln, REFLECTION_SLICE_CACHE_TTL_MS as lr, FIXED_MEMORY as lt, isRemTraceEnabled as m, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS as mn, SNO_OBSERVE_FLUSH_TIMEOUT_MS as mr, FIXED_MEMORY_ACTIVE_TASK_REVISIONS as mt, MEMORY_USAGE_FLUSH_INTERVAL_MS as n, PERSISTED_CONTENT_HASH_V1 as nn, MEMORY_SHUTDOWN_TIMEOUT_MS as nr, FIXED_IDX_MEMORY_MEMORIES_CONTENT_HASH as nt, REM_RUN_PATH as o, llmRoutingConfigSchema as on, MULTI_HIT_BONUS_PER_HIT as or, FIXED_IDX_MEMORY_MEMORIES_PROJECT_CONTENT_HASH as ot, getRemTraceLogPath as p, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET as pn, RETRIEVAL_STORAGE_CHUNK_PROFILE as pr, FIXED_MEMORY_ACTIVE_TASK_MIGRATION_MANIFESTS as pt, FIXED_EXTERNAL_VALUE_58 as q, LIGHTWEIGHT_COSINE_WEIGHT as qn, FIXED_PROTOCOL_VALUE_74 as qt, REM_CORRELATION_ID_HEADER as r, PERSISTED_CONTENT_HASH_V3 as rn, MIN_RECALL_TOKEN_BUDGET as rr, FIXED_IDX_MEMORY_MEMORIES_FACT_ID as rt, REM_SIDECAR_HOST as s, SUPPORTED_LOCALES as sn, PLANNER_STATISTICS_INTERVAL_MS as sr, FIXED_IDX_MEMORY_MEMORIES_PROJECT_FACT_KEY_ACTIVE as st, HEALTH_PATH as t, PERSISTED_CANDIDATE_HASH_V1 as tn, MAX_RECALLED_TODO_TOKENS as tr, FIXED_IDX_MEMORY_MEMORIES_CATEGORY as tt, getRemChassisJournalPath as u, ADJACENCY_BONUS_PER_PAIR as un, REM_TRIGGER_CHECK_INTERVAL_MS as ur, FIXED_MEMORY_ACTIVE_TASK_EVIDENCE as ut, SettingsUnavailableError as v, CACHE_TTL_MS as vn, VECTOR_DIMENSION_DEFAULT as vr, FIXED_MEMORY_CHUNKS_AI as vt, getStateDir as w, CHUNK_TOKENIZER_MODE as wn, LOCAL_EMBEDDING_MODEL as wr, FIXED_MEMORY_EXTRACTION_TIMESTAMPS as wt, getSettingsPath as x, CHUNK_MIN_TOKENS as xn, recallLifecycleSchema as xr, FIXED_MEMORY_CHUNKS_MEMORY_ID_IDX as xt, getDiscoveryPath as y, CHUNKING_VERSION as yn, experimentCandidatePoolOverride as yr, FIXED_MEMORY_CHUNKS_AU as yt, FIXED_EXTERNAL_VALUE_49 as z, FORGET_QUERY_MIN_SCORE as zn, FIXED_PROTOCOL_VALUE_63 as zt };
@@ -1,4 +1,4 @@
1
- import "./types-DvQ6nTNC.js";
1
+ import "./types-Dcr6GKHy.js";
2
2
  //#region src/engine/reflection/reflection-line-loader.d.ts
3
3
  interface ReflectionLineSource {
4
4
  line: string;
@@ -1,4 +1,4 @@
1
- import { n as version, t as logSiteCatalog } from "./log-site-catalog.generated-NI-E9zjv.js";
1
+ import { n as version, t as logSiteCatalog } from "./log-site-catalog.generated-6Yhsft4u.js";
2
2
  import { diagnosticProcessInstanceId, encodeDiagnostic as encodeDiagnostic$1, writeEmergencyDiagnostic as writeEmergencyDiagnostic$1 } from "@snoai/utils/log-encoder";
3
3
  //#region src/engine/observability/early-diagnostics.ts
4
4
  function bindApplication(input) {
@@ -3,6 +3,7 @@ import { EmbeddingError } from "./internal/engine/shared/errors.js";
3
3
  import { chunk } from "@snoai/chunking";
4
4
  import { CachedEmbeddingProvider, LOCAL_EMBEDDING_CACHE_DIR_DEFAULT, LOCAL_EMBEDDING_MODEL, LOCAL_EMBEDDING_MODEL_REVISION, LocalEmbedProvider, ensureModelDownloaded } from "@snoai/embedder";
5
5
  import { createLogger } from "@snoai/utils/logger";
6
+ import { availableParallelism } from "node:os";
6
7
  //#region src/engine/extraction/embedding-provider-factory.ts
7
8
  function resolveEmbeddingCacheDir(config) {
8
9
  return config.cacheDir || LOCAL_EMBEDDING_CACHE_DIR_DEFAULT;
@@ -14,7 +15,10 @@ function buildProvider(config) {
14
15
  offline: config.offline,
15
16
  mirror: config.mirror,
16
17
  dtype: config.dtype,
17
- sessionOptions: config.sessionOptions,
18
+ sessionOptions: {
19
+ ...config.sessionOptions,
20
+ intraOpNumThreads: config.sessionOptions?.intraOpNumThreads ?? Math.max(1, Math.min(4, Math.floor(availableParallelism() / 2)))
21
+ },
18
22
  ...config.model !== void 0 ? { model: config.model } : {},
19
23
  ...config.revision !== void 0 ? { revision: config.revision } : {},
20
24
  ...config.nativeDim !== void 0 ? { nativeDim: config.nativeDim } : {},
@@ -1,5 +1,5 @@
1
- import { p as LlmRoutingConfig, t as PluginConfig } from "./plugin-config-schema-CCwv_K7R.js";
2
- import { g as MemoryEntry, h as MemoryCategory, t as AGGREGATION_OPERATIONS, x as RetrievalResult } from "./types-DvQ6nTNC.js";
1
+ import { p as LlmRoutingConfig, t as PluginConfig } from "./plugin-config-schema-B-Zve3i5.js";
2
+ import { g as MemoryEntry, h as MemoryCategory, t as AGGREGATION_OPERATIONS, x as RetrievalResult } from "./types-Dcr6GKHy.js";
3
3
  import { r as SnoStationMemMemorySearchResult } from "./provider-runtime-types-DFhtdA6d.js";
4
4
  import { z } from "zod";
5
5
  //#region src/contract/error.d.ts
package/dist/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
- import { b as Settings, t as PluginConfig } from "./plugin-config-schema-CCwv_K7R.js";
2
- import "./types-DvQ6nTNC.js";
3
- import { n as AgentLlmPort } from "./agent-llm-port-5oXgBpzJ.js";
4
- import { n as PluginObservability } from "./adapter-J6IQ0rvr.js";
5
- import { $ as usageSignalSchema, A as HostContext, B as ScopeCtx, C as inspectDataSchema, D as toolResponseSchema, E as retrievalResultSchema, F as JsonValue, G as inputSchemas, H as UsageSignal, I as Message, J as mutationSchema, K as inspectionSchema, L as Mutation, M as HostEvent, N as InitRegistration, O as AgentModelRegistration, P as Inspection, Q as turnSchema, R as RecallOptions, S as ToolResponse, T as outputSchemas, U as hostEventSchema, V as Turn, W as initRegistrationSchema, X as registrationSchema, Y as recallOptionsSchema, Z as scopeSchema, _ as engineSettingsSchema, a as parseOutput, b as ProjectSummary, c as MEMORY_ERROR_STATUS, d as MEMORY_ROUTES, et as ContractError, f as MEMORY_SKIN_HEADER, g as EngineSettings, h as memoryMethod, i as parseInput, j as HostDecision, k as ContractInputs, l as MEMORY_HEALTH_TIMEOUT_MS, m as REM_SIDECAR_TOKEN_HEADER, n as MemoryContract, nt as DegradedReason, o as MEMORY_BODY_LIMIT_BYTES, p as MEMORY_START_TIMEOUT_MS, q as messageSchema, r as contractJsonSchemas, s as MEMORY_DEFAULT_SKIN_ID, t as ContractMethod, tt as DEGRADED_REASONS, u as MEMORY_RECONNECT_INTERVAL_MS, v as ContractOutputs, w as memoryEntrySchema, x as Result, y as InspectData, z as Registration } from "./index-DtqgCT8u.js";
1
+ import { b as Settings, t as PluginConfig } from "./plugin-config-schema-B-Zve3i5.js";
2
+ import "./types-Dcr6GKHy.js";
3
+ import { n as AgentLlmPort } from "./agent-llm-port-DY2290EK.js";
4
+ import { n as PluginObservability } from "./adapter-CMMmIzGe.js";
5
+ import { $ as usageSignalSchema, A as HostContext, B as ScopeCtx, C as inspectDataSchema, D as toolResponseSchema, E as retrievalResultSchema, F as JsonValue, G as inputSchemas, H as UsageSignal, I as Message, J as mutationSchema, K as inspectionSchema, L as Mutation, M as HostEvent, N as InitRegistration, O as AgentModelRegistration, P as Inspection, Q as turnSchema, R as RecallOptions, S as ToolResponse, T as outputSchemas, U as hostEventSchema, V as Turn, W as initRegistrationSchema, X as registrationSchema, Y as recallOptionsSchema, Z as scopeSchema, _ as engineSettingsSchema, a as parseOutput, b as ProjectSummary, c as MEMORY_ERROR_STATUS, d as MEMORY_ROUTES, et as ContractError, f as MEMORY_SKIN_HEADER, g as EngineSettings, h as memoryMethod, i as parseInput, j as HostDecision, k as ContractInputs, l as MEMORY_HEALTH_TIMEOUT_MS, m as REM_SIDECAR_TOKEN_HEADER, n as MemoryContract, nt as DegradedReason, o as MEMORY_BODY_LIMIT_BYTES, p as MEMORY_START_TIMEOUT_MS, q as messageSchema, r as contractJsonSchemas, s as MEMORY_DEFAULT_SKIN_ID, t as ContractMethod, tt as DEGRADED_REASONS, u as MEMORY_RECONNECT_INTERVAL_MS, v as ContractOutputs, w as memoryEntrySchema, x as Result, y as InspectData, z as Registration } from "./index-Dg3p5cmw.js";
6
6
  import { t as Embedder } from "./embedding-provider-client-vynZMuit.js";
7
- import { t as MemoryRetriever } from "./retriever-CXeB7-A2.js";
8
- import { C as MemoryStore } from "./memory-store-base-Dx6oSqiv.js";
9
- import "./store-Dbo7MIzt.js";
10
- import { n as AccessTracker } from "./access-tracker-BNqlgChq.js";
7
+ import { t as MemoryRetriever } from "./retriever-CI0r-RAK.js";
8
+ import { C as MemoryStore } from "./memory-store-base-5tTeqT7l.js";
9
+ import "./store-h8QmkTwl.js";
10
+ import { n as AccessTracker } from "./access-tracker-gzQVC6ur.js";
11
11
  import { r as MemoryTelemetryUsageOutbox } from "./memory-telemetry-outbox-ddTdImt7.js";
12
- import { t as ReflectionCommandParams } from "./reflection-command-hooks-h2CbYuXx.js";
12
+ import { t as ReflectionCommandParams } from "./reflection-command-hooks-BkbZyh-G.js";
13
13
  import { createMemoryRuntime } from "./internal/engine/provider/provider-registration.js";
14
14
  //#region src/engine/contract-runtime.d.ts
15
15
  interface MemoryRuntimeServices {
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { a as selfImprovementConfigSchema, c as SESSION_STRATEGIES, i as memoryReflectionConfigSchema, n as retrievalConfigSchema, o as sessionMemoryConfigSchema, r as extractionConfigSchema, s as embeddingConfigSchema } from "./plugin-config-schema-CC-2N9Xw.js";
1
+ import { a as selfImprovementConfigSchema, c as SESSION_STRATEGIES, i as memoryReflectionConfigSchema, n as retrievalConfigSchema, o as sessionMemoryConfigSchema, r as extractionConfigSchema, s as embeddingConfigSchema } from "./plugin-config-schema-hIfZTELX.js";
2
2
  import { recallLifecycleSchema } from "./internal/config/index.js";
3
- import { n as observeConfigSchema } from "./plugin-config-observe-schema-BORZ9_7q.js";
3
+ import { n as observeConfigSchema } from "./plugin-config-observe-schema-ue9XxUj_.js";
4
4
  import { AGGREGATION_OPERATIONS, MEMORY_CATEGORIES } from "./internal/engine/shared/types.js";
5
5
  import { n as DEGRADED_REASONS, t as ContractError } from "./error-D-wb-rZw.js";
6
6
  import { a as toolResponseSchema, i as retrievalResultSchema, n as memoryEntrySchema, r as outputSchemas, t as inspectDataSchema } from "./results-BkMsHy7M.js";
@@ -8,23 +8,23 @@ import { MEMORY_BODY_LIMIT_BYTES, MEMORY_DEFAULT_SKIN_ID, MEMORY_ERROR_STATUS, M
8
8
  import { a as readTrustedUserId, c as inspectProviderProjects, o as resolveProviderIdentity, s as SnoStationMemProviderSearchManager, t as createMemoryRuntime } from "./provider-registration-qLSA9CQl.js";
9
9
  import { s as withMemoryOperation, t as checkMemoryOperation } from "./operation-cancellation-CTKWwNHk.js";
10
10
  import { pruneOldestEntries, setLruEntry } from "./internal/engine/shared/lru.js";
11
- import { a as CODING_SKIN_LEDGER_MAX_CHARS, f as CODING_SKIN_SESSION_QUERY } from "./coding-skin-C7gwOKsc.js";
11
+ import { o as CODING_SKIN_LEDGER_MAX_CHARS, p as CODING_SKIN_SESSION_QUERY } from "./coding-skin-_Qu3INZD.js";
12
12
  import { defaultSettings } from "./internal/config/settings.js";
13
- import { i as createLlmClient } from "./llm-client-BhkzlTnH.js";
13
+ import { i as createLlmClient } from "./llm-client-BOkokxti.js";
14
14
  import { pickLlmRoutingConfig } from "./internal/model/llm-mode-routing.js";
15
15
  import { a as parseAgentIdFromSessionKey, n as createScopePolicy, t as MemoryScopePolicy } from "./memory-scope-policy-DICSCURA.js";
16
- import { a as serializeIntervalMetadata, o as resolveMemoryDate } from "./memory-temporality-classifier-AetVby94.js";
16
+ import { a as serializeIntervalMetadata, o as resolveMemoryDate } from "./memory-temporality-classifier-C6MW_0i4.js";
17
17
  import { resolveAgentAccess, resolveAgentId } from "./internal/engine/bindings/memory-tool-access.js";
18
18
  import { r as retrieveForAutoRecall, t as isOpenRecallMetadata } from "./rem-consumer-retrieval-CR0dtcHR.js";
19
19
  import { executeMemoryRecallTool } from "./internal/engine/bindings/memory-recall-tool.js";
20
- import { t as createReflectionStrategyState } from "./strategy-hook-runner-CHpG8vXD.js";
20
+ import { t as createReflectionStrategyState } from "./strategy-hook-runner-CD5X8gs3.js";
21
21
  import { buildInsightDistiller } from "./internal/engine/bindings/sno-station-mem-insight-distill-factory.js";
22
22
  import { onAgentEnd } from "./internal/engine/bindings/sno-station-mem-ambient-learning-hook.js";
23
23
  import { executeMemoryStoreTool } from "./internal/engine/bindings/memory-store-tool.js";
24
24
  import { executeMemoryForgetTool } from "./internal/engine/bindings/memory-forget-tool.js";
25
25
  import { executeMemoryUpdateTool } from "./internal/engine/bindings/memory-update-tool.js";
26
26
  import { executeMemoryReflectionResolveTool } from "./internal/engine/bindings/memory-reflection-resolve-tool.js";
27
- import { t as createRunMemoryReflection } from "./reflection-command-hooks-CTYkYqM3.js";
27
+ import { t as createRunMemoryReflection } from "./reflection-command-hooks-_AiaIqap.js";
28
28
  import { createReflectionLifecycleHandler1, createReflectionLifecycleHandler2 } from "./internal/engine/reflection/reflection-lifecycle-hooks.js";
29
29
  import { createReflectionInjectionHandler1, createReflectionInjectionHandler2, createReflectionInjectionHandler3 } from "./internal/engine/reflection/reflection-injection-hooks.js";
30
30
  import { z } from "zod";
@@ -820,14 +820,14 @@ var MemoryContractRuntime = class {
820
820
  query: current === "session-start" ? CODING_SKIN_SESSION_QUERY : query,
821
821
  limit,
822
822
  minScore: minimum,
823
- scopeFilter: context.scopePolicy.getAccessibleScopes(),
823
+ scopeFilter: [context.scopePolicy.getDefaultScope()],
824
824
  signal: retrievalSignal,
825
825
  nowMs: Date.now(),
826
826
  sessionId: key
827
827
  });
828
828
  retrievalSignal.throwIfAborted();
829
829
  prepared.push({
830
- hits,
830
+ hits: current === "prompt" ? hits.filter((hit) => hit.denseScore === void 0 || hit.denseScore >= .5) : hits,
831
831
  cap: cfg.maxChars
832
832
  });
833
833
  }
@@ -1,2 +1,2 @@
1
- import { n as pluginConfigSchema, t as PluginConfig } from "../../plugin-config-schema-CCwv_K7R.js";
1
+ import { n as pluginConfigSchema, t as PluginConfig } from "../../plugin-config-schema-B-Zve3i5.js";
2
2
  export { PluginConfig, pluginConfigSchema };
@@ -1,2 +1,2 @@
1
- import { t as pluginConfigSchema } from "../../plugin-config-schema-CC-2N9Xw.js";
1
+ import { t as pluginConfigSchema } from "../../plugin-config-schema-hIfZTELX.js";
2
2
  export { pluginConfigSchema };
@@ -1,2 +1,2 @@
1
- import { _ as llmRoutingConfigSchema, d as LLM_OCCASIONS, f as LlmOccasion, g as ProductMode, h as PRODUCT_MODES, m as LlmRoutingConfigInput, p as LlmRoutingConfig, u as DEFAULT_MODEL_MODE, v as modelCallsConfigSchema, y as remEnhancedConfigSchema } from "../../plugin-config-schema-CCwv_K7R.js";
1
+ import { _ as llmRoutingConfigSchema, d as LLM_OCCASIONS, f as LlmOccasion, g as ProductMode, h as PRODUCT_MODES, m as LlmRoutingConfigInput, p as LlmRoutingConfig, u as DEFAULT_MODEL_MODE, v as modelCallsConfigSchema, y as remEnhancedConfigSchema } from "../../plugin-config-schema-B-Zve3i5.js";
2
2
  export { DEFAULT_MODEL_MODE, LLM_OCCASIONS, LlmOccasion, LlmRoutingConfig, LlmRoutingConfigInput, PRODUCT_MODES, ProductMode, llmRoutingConfigSchema, modelCallsConfigSchema, remEnhancedConfigSchema };
@@ -1,2 +1,2 @@
1
- import { C as settingsToPluginConfig, S as settingsSchema, b as Settings, x as defaultSettings } from "../../plugin-config-schema-CCwv_K7R.js";
1
+ import { C as settingsToPluginConfig, S as settingsSchema, b as Settings, x as defaultSettings } from "../../plugin-config-schema-B-Zve3i5.js";
2
2
  export { Settings, defaultSettings, settingsSchema, settingsToPluginConfig };
@@ -1,4 +1,4 @@
1
- import { c as SESSION_STRATEGIES, t as pluginConfigSchema } from "../../plugin-config-schema-CC-2N9Xw.js";
1
+ import { c as SESSION_STRATEGIES, t as pluginConfigSchema } from "../../plugin-config-schema-hIfZTELX.js";
2
2
  import { EMBEDDER_MODEL_DEFAULT } from "./index.js";
3
3
  import { SUPPORTED_LOCALES } from "../engine/i18n/locales.js";
4
4
  import { PRODUCT_MODES } from "./product-mode.js";