@snoai/memory 1.2.12 → 1.2.13

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 (150) hide show
  1. package/README.md +1 -1
  2. package/dist/{access-tracker-BOPHSJjf.d.ts → access-tracker-CglGg8uS.d.ts} +3 -3
  3. package/dist/{adapter-lyb6RaQE.d.ts → adapter-Cxyzdq6H.d.ts} +2 -2
  4. package/dist/{atomic-memory-extraction-B_XpkhMd.d.ts → atomic-memory-extraction-DO4yTfch.d.ts} +4 -4
  5. package/dist/{atomic-memory-extraction-B5FW2HhR.js → atomic-memory-extraction-DWhlXJT6.js} +4 -4
  6. package/dist/{b-profile-section-dictionary-provider-BK5NBs-y.d.ts → b-profile-section-dictionary-provider-BkUdS1SY.d.ts} +1 -1
  7. package/dist/{capture-policy-detector-BvVGmxxX.d.ts → capture-policy-detector-C7MA4jSr.d.ts} +1 -1
  8. package/dist/client.d.ts +2 -2
  9. package/dist/client.js +5 -4
  10. package/dist/{config-BWHnCb_Z.js → config-D_KOwEyg.js} +53 -16
  11. package/dist/{daily-log-generator-CH_KuWHs.js → daily-log-generator-DEsiCs7o.js} +1 -1
  12. package/dist/{derived-suppression-cache-Ckwjey7I.d.ts → derived-suppression-cache-CmS4xAaN.d.ts} +1 -1
  13. package/dist/diagnostic-encoder.js +1 -1
  14. package/dist/{index-CsPUNkcm.d.ts → index-CTi1R9T4.d.ts} +5 -4
  15. package/dist/index.d.ts +11 -11
  16. package/dist/index.js +13 -11
  17. package/dist/internal/config/plugin-config-schema.d.ts +1 -1
  18. package/dist/internal/config/plugin-config-schema.js +1 -1
  19. package/dist/internal/config/product-mode.d.ts +1 -1
  20. package/dist/internal/config/settings.d.ts +1 -1
  21. package/dist/internal/config/settings.js +43 -7
  22. package/dist/internal/config/skin-defaults.d.ts +1 -1
  23. package/dist/internal/contract/profile.d.ts +1 -1
  24. package/dist/internal/contract/routes.d.ts +2 -2
  25. package/dist/internal/contract/routes.js +2 -1
  26. package/dist/internal/engine/bindings/memory-cli-shared.d.ts +4 -4
  27. package/dist/internal/engine/bindings/memory-forget-tool.js +1 -1
  28. package/dist/internal/engine/bindings/memory-list-tool.js +1 -1
  29. package/dist/internal/engine/bindings/memory-recall-tool.js +2 -2
  30. package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +1 -1
  31. package/dist/internal/engine/bindings/memory-stats-tool.js +1 -1
  32. package/dist/internal/engine/bindings/memory-store-tool.js +3 -3
  33. package/dist/internal/engine/bindings/memory-tool-access.d.ts +1 -1
  34. package/dist/internal/engine/bindings/memory-tool-access.js +1 -1
  35. package/dist/internal/engine/bindings/memory-tool-results.d.ts +1 -1
  36. package/dist/internal/engine/bindings/memory-tool-results.js +1 -1
  37. package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +5 -5
  38. package/dist/internal/engine/bindings/memory-tool-schemas.js +1 -1
  39. package/dist/internal/engine/bindings/memory-update-tool.js +2 -2
  40. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +4 -4
  41. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +4 -4
  42. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +4 -4
  43. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +4 -2
  44. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +5 -5
  45. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +2 -2
  46. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +2 -2
  47. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +3 -3
  48. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +1 -1
  49. package/dist/internal/engine/extraction/atomic-memory-extraction.d.ts +1 -1
  50. package/dist/internal/engine/extraction/atomic-memory-extraction.js +1 -1
  51. package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.d.ts +1 -1
  52. package/dist/internal/engine/extraction/b-profile-section-rekey.d.ts +5 -5
  53. package/dist/internal/engine/extraction/capture-policy-detector.d.ts +1 -1
  54. package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +2 -2
  55. package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +1 -1
  56. package/dist/internal/engine/extraction/memory-temporality-classifier.js +1 -1
  57. package/dist/internal/engine/observability/adapter.d.ts +1 -1
  58. package/dist/internal/engine/observability/memory-snapshot.d.ts +1 -1
  59. package/dist/internal/engine/observability/observable-embedder.d.ts +1 -1
  60. package/dist/internal/engine/observability/observable-llm-client.d.ts +1 -1
  61. package/dist/internal/engine/observability/observable-memory-store.d.ts +1 -1
  62. package/dist/internal/engine/observability/observable-memory-store.js +1 -1
  63. package/dist/internal/engine/observability/observable-retriever.d.ts +1 -1
  64. package/dist/internal/engine/observability/observable-retriever.js +1 -1
  65. package/dist/internal/engine/observability/runtime-diagnostics.d.ts +1 -1
  66. package/dist/internal/engine/observability/runtime-diagnostics.js +1 -1
  67. package/dist/internal/engine/operations/learning-file-maintenance.js +1 -1
  68. package/dist/internal/engine/operations/memory-tier-promoter.d.ts +1 -1
  69. package/dist/internal/engine/operations/runtime-audit-log.d.ts +2 -2
  70. package/dist/internal/engine/provider/provider-registration.d.ts +4 -4
  71. package/dist/internal/engine/provider/provider-row-renderer.d.ts +1 -1
  72. package/dist/internal/engine/reflection/daily-log-generator.js +1 -1
  73. package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +1 -1
  74. package/dist/internal/engine/reflection/reflection-command-hooks.js +1 -1
  75. package/dist/internal/engine/reflection/reflection-deps.d.ts +1 -1
  76. package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +1 -1
  77. package/dist/internal/engine/reflection/reflection-embedded-generator.js +1 -1
  78. package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +1 -1
  79. package/dist/internal/engine/reflection/reflection-injection-hooks.js +1 -1
  80. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +1 -1
  81. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +1 -1
  82. package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +3 -3
  83. package/dist/internal/engine/reflection/strategy-hook-runner.js +2 -2
  84. package/dist/internal/engine/retrieval/access-tracker.d.ts +1 -1
  85. package/dist/internal/engine/retrieval/retriever.d.ts +1 -1
  86. package/dist/internal/engine/retrieval/retriever.js +1 -1
  87. package/dist/internal/engine/shared/memory-kind-policy.d.ts +1 -1
  88. package/dist/internal/engine/shared/paths.d.ts +2 -2
  89. package/dist/internal/engine/shared/types.d.ts +2 -2
  90. package/dist/internal/engine/shared/types.js +1 -1
  91. package/dist/internal/engine/telemetry/observe-ledger.d.ts +1 -1
  92. package/dist/internal/model/llm-client.d.ts +2 -2
  93. package/dist/internal/model/llm-client.js +1 -1
  94. package/dist/internal/model/llm-mode-routing.d.ts +1 -1
  95. package/dist/internal/store/maintenance.d.ts +2 -2
  96. package/dist/internal/store/maintenance.js +3 -3
  97. package/dist/internal/store/sqlite-runtime.js +1 -1
  98. package/dist/internal/store/store.d.ts +2 -2
  99. package/dist/internal/store/store.js +1 -1
  100. package/dist/{llm-client-BTaUVmDe.d.ts → llm-client-B7LSFL_m.d.ts} +1 -1
  101. package/dist/{llm-client-DPBhPtmQ.js → llm-client-C7yyFWu-.js} +18 -7
  102. package/dist/{log-site-catalog.generated-B4LkDXe0.js → log-site-catalog.generated-BODn_6Kx.js} +78 -78
  103. package/dist/log-site-catalog.json +1 -1
  104. package/dist/{memory-kind-policy-ClQEXeOL.d.ts → memory-kind-policy-B4IBMAlv.d.ts} +1 -1
  105. package/dist/{memory-metadata-codec-wVAuoKrG.d.ts → memory-metadata-codec-BQ8tBY-g.d.ts} +1 -1
  106. package/dist/{memory-runtime-D6cAHd34.js → memory-runtime-4iOpeP09.js} +89 -86
  107. package/dist/{memory-snapshot-uTdxJnIh.d.ts → memory-snapshot-B8mQbWR-.d.ts} +2 -2
  108. package/dist/{memory-store-base-Bk2dOKED.d.ts → memory-store-base-CTAMKigD.d.ts} +2 -2
  109. package/dist/{memory-temporality-classifier-CcxfHYoT.d.ts → memory-temporality-classifier-LByFBiFJ.d.ts} +1 -1
  110. package/dist/{memory-temporality-classifier-Bm4-tqB5.js → memory-temporality-classifier-epuZlfXa.js} +1 -1
  111. package/dist/{memory-tier-promoter-MkZPQ8u1.d.ts → memory-tier-promoter-CSGa4LBH.d.ts} +1 -1
  112. package/dist/memory-tool-dependencies-Bl11T6Xm.d.ts +14 -0
  113. package/dist/{memory-tool-dependencies-R_yWuFEg.js → memory-tool-dependencies-xLaWzwpI.js} +1 -1
  114. package/dist/{observable-embedder-CGr3Zejf.d.ts → observable-embedder-Da0teBqx.d.ts} +1 -1
  115. package/dist/{observable-llm-client-CXUA7Gi3.d.ts → observable-llm-client-i0sp0veF.d.ts} +3 -3
  116. package/dist/{observable-memory-store-BwwKcUzf.d.ts → observable-memory-store-CS87pitJ.d.ts} +4 -4
  117. package/dist/{observable-retriever-bJbG9WtJ.d.ts → observable-retriever-Bhfg9DsZ.d.ts} +5 -5
  118. package/dist/{operation-cancellation-CTKWwNHk.js → operation-cancellation-QcwC4mDX.js} +7 -2
  119. package/dist/paths-B5y-npWs.d.ts +1 -0
  120. package/dist/{plugin-config-schema-BrhMvnXJ.d.ts → plugin-config-schema-CcEeAEdi.d.ts} +2 -2
  121. package/dist/{plugin-config-schema-Di-uKTP0.js → plugin-config-schema-CvAGFPyE.js} +1 -0
  122. package/dist/{profile-CF5oDjR7.d.ts → profile-BMvnRqf5.d.ts} +1 -1
  123. package/dist/{profile-section-writer-Cu3ND3j7.js → profile-section-writer-DeD9GPQJ.js} +2 -2
  124. package/dist/{reflection-command-hooks-CM2mWb69.d.ts → reflection-command-hooks-CFXyoVvE.d.ts} +4 -4
  125. package/dist/{reflection-command-hooks-vKpljnqv.js → reflection-command-hooks-S5L6ZWeh.js} +5 -5
  126. package/dist/{reflection-deps-B5I0nYZS.d.ts → reflection-deps-BPMrDU0a.d.ts} +2 -2
  127. package/dist/{reflection-embedded-generator-CogQIBcG.d.ts → reflection-embedded-generator-CF-NbuPS.d.ts} +3 -3
  128. package/dist/{reflection-embedded-generator-CwTXvERI.js → reflection-embedded-generator-nmVrj4AZ.js} +1 -1
  129. package/dist/{reflection-injection-hooks-BnbfZqpj.d.ts → reflection-injection-hooks-BRIr3lJM.d.ts} +4 -4
  130. package/dist/{reflection-lifecycle-hooks-DMDhtidj.d.ts → reflection-lifecycle-hooks-Ci8y4qHk.d.ts} +3 -3
  131. package/dist/{rem-batch-executor-Cn-MBe4m.js → rem-batch-executor-CfWChDAk.js} +1 -1
  132. package/dist/{rem-consumer-retrieval-CDMSCJYI.js → rem-consumer-retrieval-BhS1ivcd.js} +1 -0
  133. package/dist/{rem-trigger-B_S0CBa7.js → rem-trigger-B1P5_RqV.js} +67 -25
  134. package/dist/{retriever-Bzz6H8Mn.js → retriever-CpyZs2ND.js} +45 -18
  135. package/dist/{retriever-DyxY59Lg.d.ts → retriever-DdikFSDC.d.ts} +13 -8
  136. package/dist/{runtime-audit-log-DdhLlTxi.d.ts → runtime-audit-log-BVOxzkh7.d.ts} +1 -1
  137. package/dist/{server-C2XTjGFr.js → server-DOL3D6bb.js} +7 -6
  138. package/dist/sidecar/main.js +2 -2
  139. package/dist/{sno-station-mem-runtime-dependencies-BaaXGrZb.js → sno-station-mem-runtime-dependencies-DZe3z4RY.js} +7 -7
  140. package/dist/sno-station-mem-runtime-dependencies-DgAm7WqA.d.ts +31 -0
  141. package/dist/{store-BzWYcvpF.js → store-DY_rWx__.js} +2 -2
  142. package/dist/{store-BDIAl2cc.d.ts → store-DraRJ-HI.d.ts} +1 -1
  143. package/dist/{strategy-hook-runner-GaJKb3O8.js → strategy-hook-runner-CltVTtzk.js} +1 -1
  144. package/dist/{strategy-hook-runner-DT9emgCZ.d.ts → strategy-hook-runner-DH7OEQrH.d.ts} +7 -7
  145. package/dist/{types-Ae3a8562.d.ts → types-DZGL4QXi.d.ts} +1 -1
  146. package/package.json +1 -1
  147. package/settings.default.json +2 -2
  148. package/dist/memory-tool-dependencies-CWnD5mia.d.ts +0 -14
  149. package/dist/paths-DmmPxD_v.d.ts +0 -1
  150. package/dist/sno-station-mem-runtime-dependencies-BZjUo6Jr.d.ts +0 -31
@@ -3,7 +3,7 @@ import "./internal/engine/shared/types.js";
3
3
  import { EmbeddingError, RetrievalError } from "./internal/engine/shared/errors.js";
4
4
  import { o as isMemoryExpired, s as parseInsightMetadata } from "./memory-metadata-codec-DL1sbJiN.js";
5
5
  import { clamp01 } from "./internal/engine/shared/utils.js";
6
- import { i as memoryOperationSignal } from "./operation-cancellation-CTKWwNHk.js";
6
+ import { a as memoryOperationSignal } from "./operation-cancellation-QcwC4mDX.js";
7
7
  import { classifyLlmFailure } from "./internal/model/llm-failure.js";
8
8
  import { appendQaTrace, computeConfigHash, isTraceEnabled } from "./internal/engine/eval/trace.js";
9
9
  import { computeEffectiveHalfLife, parseAccessMetadata } from "./internal/engine/retrieval/access-tracker.js";
@@ -546,7 +546,10 @@ Object.assign(MemoryRetriever.prototype, {
546
546
  site_id: "retrieval.retriever-search-modes.precisionRecall.aaf0b2eb17"
547
547
  });
548
548
  trace?.startStage("rerank", fused.map((r) => r.entry.id));
549
- const rerankOutcome = await this.rerank(context.query, fused, queryVector);
549
+ const rerankOutcome = await this.rerank(context.query, fused, queryVector, {
550
+ signal: context.signal,
551
+ deadlineAt: context.rerankDeadlineAt
552
+ });
550
553
  fused = rerankOutcome.candidates;
551
554
  this.throwIfAborted(context);
552
555
  const rerankStageMetadata = rerankOutcome.fallback ? {
@@ -639,10 +642,15 @@ function buildRerankHttpError(status) {
639
642
  }
640
643
  function buildRerankRequest(provider, apiKey, model, query, candidates, topN) {
641
644
  switch (provider) {
642
- case "tei": return {
645
+ case "tei":
646
+ case "sno-gpu": return {
643
647
  headers: {
644
648
  "Content-Type": "application/json",
645
- Authorization: `Bearer ${apiKey}`
649
+ Authorization: `Bearer ${apiKey}`,
650
+ ...provider === "sno-gpu" ? {
651
+ "X-Sno-Source": "sno-station",
652
+ "X-Sno-Workload": "station-rerank"
653
+ } : {}
646
654
  },
647
655
  body: {
648
656
  query,
@@ -730,7 +738,8 @@ function parseRerankResponse(provider, data) {
730
738
  };
731
739
  const objectData = data && typeof data === "object" && !Array.isArray(data) ? data : void 0;
732
740
  switch (provider) {
733
- case "tei": return parseItems(data, ["score", "relevance_score"]) ?? parseItems(objectData?.results, ["score", "relevance_score"]) ?? parseItems(objectData?.data, ["score", "relevance_score"]);
741
+ case "tei":
742
+ case "sno-gpu": return parseItems(data, ["score", "relevance_score"]) ?? parseItems(objectData?.results, ["score", "relevance_score"]) ?? parseItems(objectData?.data, ["score", "relevance_score"]);
734
743
  case "dashscope": {
735
744
  const output = objectData?.output;
736
745
  if (output) return parseItems(output.results, ["relevance_score", "score"]);
@@ -802,7 +811,7 @@ function isTransientRerankError(error) {
802
811
  if (isRerankTimeout(error)) return true;
803
812
  return error instanceof TypeError && error.cause !== void 0;
804
813
  }
805
- async function fetchRerankWithRetry(send) {
814
+ async function fetchRerankWithRetry(send, stop) {
806
815
  let lastError;
807
816
  for (let attempt = 1; attempt <= RERANK_TRANSIENT_ATTEMPTS; attempt += 1) {
808
817
  let retryDelayMs = RERANK_TRANSIENT_BACKOFF_MS * attempt;
@@ -820,18 +829,31 @@ async function fetchRerankWithRetry(send) {
820
829
  await response.body?.cancel();
821
830
  lastError = /* @__PURE__ */ new Error(`rerank API responded ${response.status}`);
822
831
  } catch (error) {
823
- if (!isTransientRerankError(error) || attempt === RERANK_TRANSIENT_ATTEMPTS) throw error;
832
+ if (!isTransientRerankError(error) || attempt === RERANK_TRANSIENT_ATTEMPTS || stop?.aborted) throw error;
824
833
  lastError = error;
825
834
  }
826
- await new Promise((resolve) => setTimeout(resolve, retryDelayMs));
835
+ if (stop?.aborted) throw lastError;
836
+ await new Promise((resolve) => {
837
+ const onAbort = () => {
838
+ clearTimeout(timer);
839
+ resolve();
840
+ };
841
+ const timer = setTimeout(() => {
842
+ stop?.removeEventListener("abort", onAbort);
843
+ resolve();
844
+ }, retryDelayMs);
845
+ stop?.addEventListener("abort", onAbort, { once: true });
846
+ });
847
+ if (stop?.aborted) throw lastError;
827
848
  }
828
849
  throw lastError;
829
850
  }
830
851
  Object.assign(MemoryRetriever.prototype, {
831
- async rerank(query, candidates, queryVector) {
852
+ async rerank(query, candidates, queryVector, options) {
832
853
  if (candidates.length === 0) return { candidates };
833
854
  if (this.config.rerank === "none") return { candidates };
834
855
  const provider = this.config.rerankProvider ?? "none";
856
+ const unranked = () => provider === "sno-gpu" ? this.rerankLightweight(candidates, queryVector) : candidates;
835
857
  if (this.config.rerank === "cross-encoder" && !this.config.rerankApiKey) throw new RetrievalError(`rerank "cross-encoder" requires retrieval.rerankApiKey (provider: ${provider}); set the key, or set retrieval.rerank to "lightweight" to choose the local ranker`);
836
858
  if (this.config.rerank === "lightweight" || !this.config.rerankApiKey) return { candidates: this.rerankLightweight(candidates, queryVector) };
837
859
  const rerankEndpoint = this.config.rerankEndpoint ?? RERANK_DEFAULT_ENDPOINTS[provider];
@@ -843,7 +865,7 @@ Object.assign(MemoryRetriever.prototype, {
843
865
  site_id: "retrieval.retriever-rerank.rerank.6fbc6b3a22"
844
866
  });
845
867
  return {
846
- candidates,
868
+ candidates: unranked(),
847
869
  fallback: {
848
870
  reason: "no_endpoint",
849
871
  provider
@@ -851,6 +873,8 @@ Object.assign(MemoryRetriever.prototype, {
851
873
  };
852
874
  }
853
875
  const rerankTimeoutMs = this.config.rerankTimeoutMs ?? 15e3;
876
+ const stepEnds = [options?.signal, provider === "sno-gpu" ? AbortSignal.timeout(Math.max(0, Math.floor(options?.deadlineAt === void 0 ? rerankTimeoutMs : options.deadlineAt - Date.now()))) : void 0].filter((each) => each !== void 0);
877
+ const stepStop = stepEnds.length > 0 ? AbortSignal.any(stepEnds) : void 0;
854
878
  const rerankApiKey = this.config.rerankApiKey;
855
879
  const maxCandidates = this.config.rerankMaxCandidates;
856
880
  const overCap = maxCandidates !== void 0 && candidates.length > maxCandidates;
@@ -871,7 +895,7 @@ Object.assign(MemoryRetriever.prototype, {
871
895
  site_id: "retrieval.retriever-rerank.rerank.query_over_window"
872
896
  });
873
897
  return {
874
- candidates,
898
+ candidates: unranked(),
875
899
  fallback: {
876
900
  reason: "query_over_window",
877
901
  provider
@@ -901,14 +925,17 @@ Object.assign(MemoryRetriever.prototype, {
901
925
  const { headers, body } = buildRerankRequest(provider, rerankApiKey, this.config.rerankModel ?? "rerank-2", query, batchTexts, batchTexts.length);
902
926
  const { response, data } = await fetchRerankWithRetry(() => fetch(rerankEndpoint, {
903
927
  method: "POST",
904
- headers,
928
+ headers: provider === "sno-gpu" ? {
929
+ ...headers,
930
+ "X-Request-ID": randomUUID()
931
+ } : headers,
905
932
  body: JSON.stringify(body),
906
- signal: AbortSignal.timeout(rerankTimeoutMs)
907
- }));
933
+ signal: stepStop ? AbortSignal.any([AbortSignal.timeout(rerankTimeoutMs), stepStop]) : AbortSignal.timeout(rerankTimeoutMs)
934
+ }), stepStop);
908
935
  if (!response.ok) {
909
936
  const retryAfter = response.headers.get("retry-after");
910
937
  const fatalError = buildRerankHttpError(response.status);
911
- if (fatalError) throw fatalError;
938
+ if (fatalError && provider !== "sno-gpu") throw fatalError;
912
939
  const errorBody = await response.text().catch(() => "<unreadable body>");
913
940
  const refusal = pass === 0 ? parseOverWindowRefusal(errorBody) : void 0;
914
941
  if (refusal) {
@@ -984,7 +1011,7 @@ Object.assign(MemoryRetriever.prototype, {
984
1011
  for (const outcome of settled) if (outcome.status === "rejected" && outcome.reason instanceof RetrievalError) throw outcome.reason;
985
1012
  for (const outcome of settled) if (outcome.status === "rejected") throw outcome.reason;
986
1013
  for (const outcome of settled) if (outcome.status === "fulfilled" && typeof outcome.value === "string") return {
987
- candidates,
1014
+ candidates: unranked(),
988
1015
  fallback: {
989
1016
  reason: outcome.value,
990
1017
  provider
@@ -1004,7 +1031,7 @@ Object.assign(MemoryRetriever.prototype, {
1004
1031
  if (!candidate) continue;
1005
1032
  const sourceScore = this.getRerankSourceScore(candidate);
1006
1033
  let crossScore = item.score;
1007
- if (provider === "tei") crossScore = 1 / (1 + Math.exp(-item.score));
1034
+ if (provider === "tei" || provider === "sno-gpu") crossScore = 1 / (1 + Math.exp(-item.score));
1008
1035
  const blendedScore = clamp01(crossScore * blendCross + sourceScore * blendVector, 0);
1009
1036
  reranked.push({
1010
1037
  ...candidate,
@@ -1066,7 +1093,7 @@ Object.assign(MemoryRetriever.prototype, {
1066
1093
  });
1067
1094
  }
1068
1095
  return {
1069
- candidates,
1096
+ candidates: unranked(),
1070
1097
  fallback: {
1071
1098
  reason,
1072
1099
  provider
@@ -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-Ae3a8562.js";
1
+ import { h as MemoryCategory, l as DecayScore, r as AggregationQuery, u as DecayableMemory, x as RetrievalResult, y as MemorySearchResult } from "./types-DZGL4QXi.js";
2
2
  import { sn as RecallLifecycleConfig } from "./index-Pb9LrHgL.js";
3
3
  import { t as Embedder } from "./embedding-provider-client-vynZMuit.js";
4
4
  import "./trace-C1JxMfs-.js";
5
- import "./memory-metadata-codec-wVAuoKrG.js";
5
+ import "./memory-metadata-codec-BQ8tBY-g.js";
6
6
  import { K as RemFacetPolicy } from "./index-DPfJrOFD.js";
7
- import { C as MemoryStore } from "./memory-store-base-Bk2dOKED.js";
8
- import "./store-BDIAl2cc.js";
9
- import { n as AccessTracker } from "./access-tracker-BOPHSJjf.js";
10
- import { r as TierPromoter } from "./memory-tier-promoter-MkZPQ8u1.js";
7
+ import { C as MemoryStore } from "./memory-store-base-CTAMKigD.js";
8
+ import "./store-DraRJ-HI.js";
9
+ import { n as AccessTracker } from "./access-tracker-CglGg8uS.js";
10
+ import { r as TierPromoter } from "./memory-tier-promoter-CSGa4LBH.js";
11
11
  import "@snoai/utils/logger";
12
12
  //#region src/engine/retrieval/retrieval-trace.d.ts
13
13
  /** @file retrieval-trace.ts
@@ -209,7 +209,7 @@ declare class RetrievalStatsCollector {
209
209
  }
210
210
  //#endregion
211
211
  //#region src/engine/retrieval/retrieval-config.d.ts
212
- type RerankProvider = "jina" | "siliconflow" | "voyage" | "pinecone" | "dashscope" | "tei";
212
+ type RerankProvider = "jina" | "siliconflow" | "voyage" | "pinecone" | "dashscope" | "tei" | "sno-gpu";
213
213
  interface RetrievalConfig {
214
214
  /** Enable the historical recency, decay, and retention score transforms. */
215
215
  temporalWeighting: boolean;
@@ -288,6 +288,8 @@ interface RetrievalContext {
288
288
  */
289
289
  includeRefused?: boolean;
290
290
  signal?: AbortSignal;
291
+ /** The time (ms since the epoch) by which a Sno reranker must have finished, retries included, before recall falls back to local ranking; set by callers that have a deadline. */
292
+ rerankDeadlineAt?: number;
291
293
  sessionId?: string;
292
294
  explicitLocale?: string;
293
295
  /** Retrieval source: "manual" for user-triggered, "auto-recall" for system-initiated, "cli" for CLI commands */
@@ -452,7 +454,10 @@ interface MemoryRetrieverInternals {
452
454
  precisionRecall(context: RetrievalContext, trace?: TraceCollector): Promise<RetrievalResult[]>;
453
455
  aggregationComplete(context: RetrievalContext, trace?: TraceCollector): Promise<RetrievalResult[]>;
454
456
  rrfFuse(vector: MemorySearchResult[], keyword: MemorySearchResult[]): RetrievalResult[];
455
- rerank(query: string, candidates: RetrievalResult[], queryVector: Float32Array): Promise<RerankOutcome>;
457
+ rerank(query: string, candidates: RetrievalResult[], queryVector: Float32Array, options?: {
458
+ signal?: AbortSignal;
459
+ deadlineAt?: number;
460
+ }): Promise<RerankOutcome>;
456
461
  rerankLightweight(candidates: RetrievalResult[], queryVector: Float32Array): RetrievalResult[];
457
462
  getRerankSourceScore(result: RetrievalResult): number;
458
463
  applyScoringPipeline(results: RetrievalResult[], trace?: TraceCollector, limit?: number): RetrievalResult[];
@@ -1,4 +1,4 @@
1
- import "./paths-DmmPxD_v.js";
1
+ import "./paths-B5y-npWs.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,5 +1,5 @@
1
- import { At as getAuditPath, Dt as appendAuditEntryStrict, K as REM_BUILT_OPERATION_TYPES, Ot as compactAuditLog, Pt as readJsonlLines, bt as ModelCallRefusedError, d as RemJobStore, f as parseRemJobStats, n as remNeedsHost, q as parseRemOperationType } from "./rem-trigger-B_S0CBa7.js";
2
- import { Ar as MEMORY_DEFAULT_SKIN_ID, C as getSnoStationMemStateDir, Ir as memoryMethod, Nr as MEMORY_ROUTES, Pr 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, jr as MEMORY_ERROR_STATUS, l as REM_SOURCE, r as REM_CORRELATION_ID_HEADER, rr as MEMORY_SHUTDOWN_TIMEOUT_MS, s as REM_SIDECAR_HOST, u as getRemChassisJournalPath, v as SettingsUnavailableError, y as getDiscoveryPath } from "./config-BWHnCb_Z.js";
1
+ import { At as getAuditPath, Dt as appendAuditEntryStrict, K as REM_BUILT_OPERATION_TYPES, Ot as compactAuditLog, Pt as readJsonlLines, bt as ModelCallRefusedError, d as RemJobStore, f as parseRemJobStats, n as remNeedsHost, q as parseRemOperationType } from "./rem-trigger-B1P5_RqV.js";
2
+ import { C as getSnoStationMemStateDir, Fr as MEMORY_SKIN_HEADER, Lr as memoryMethod, Mr as MEMORY_ERROR_STATUS, Pr as MEMORY_ROUTES, 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, jr as MEMORY_DEFAULT_SKIN_ID, l as REM_SOURCE, r as REM_CORRELATION_ID_HEADER, rr as MEMORY_SHUTDOWN_TIMEOUT_MS, s as REM_SIDECAR_HOST, u as getRemChassisJournalPath, v as SettingsUnavailableError, y as getDiscoveryPath } from "./config-D_KOwEyg.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";
@@ -88,8 +88,9 @@ async function serveMemoryRoute(request, response, pathname, openPool, activeTas
88
88
  let timer;
89
89
  const controller = new AbortController();
90
90
  const abort = () => controller.abort(new ContractError("timeout"));
91
+ const deadlineMs = performance.now() + MEMORY_ROUTES[method].timeoutMs;
91
92
  let rejectDeadline;
92
- if (method !== "capture") response.once("close", abort);
93
+ if (method !== "capture" || request.headers["x-sno-cancel-on-disconnect"] === "1") response.once("close", abort);
93
94
  try {
94
95
  const deadline = new Promise((_, reject) => {
95
96
  rejectDeadline = () => reject(controller.signal.reason);
@@ -101,7 +102,7 @@ async function serveMemoryRoute(request, response, pathname, openPool, activeTas
101
102
  controller.signal.throwIfAborted();
102
103
  const pool = await openPool();
103
104
  controller.signal.throwIfAborted();
104
- return pool.invoke(method, body, typeof skinId === "string" && skinId.trim() ? skinId : MEMORY_DEFAULT_SKIN_ID, controller.signal);
105
+ return pool.invoke(method, body, typeof skinId === "string" && skinId.trim() ? skinId : MEMORY_DEFAULT_SKIN_ID, controller.signal, method === "capture" ? deadlineMs : void 0);
105
106
  })();
106
107
  const boundedTask = Promise.race([task, deadline]);
107
108
  const completion = Object.assign(task.then(() => void 0, () => void 0), {
@@ -334,7 +335,7 @@ async function startOwnedRemSidecar() {
334
335
  async open() {
335
336
  if (currentMemory) return currentMemory;
336
337
  if (settingsError) throw settingsError;
337
- openingMemory ??= import("./memory-runtime-D6cAHd34.js").then((module) => module.MemoryRuntimePool.open()).then((pool) => {
338
+ openingMemory ??= import("./memory-runtime-4iOpeP09.js").then((module) => module.MemoryRuntimePool.open()).then((pool) => {
338
339
  currentMemory = pool;
339
340
  if (stopping) pool.stopTimers();
340
341
  return pool;
@@ -729,7 +730,7 @@ async function runChassisJob(store, journal, waveId, holdMs, runtime) {
729
730
  cleanRefusalReasons.push(reason);
730
731
  await appendChassisRefusal(journal, queued, operation, "refused", reason);
731
732
  }
732
- const { runRemProductionOrderedWave } = await import("./rem-batch-executor-Cn-MBe4m.js");
733
+ const { runRemProductionOrderedWave } = await import("./rem-batch-executor-CfWChDAk.js");
733
734
  const result = enabledOperations.length === 0 ? {
734
735
  decision: "allow",
735
736
  reasonCode: null,
@@ -1,4 +1,4 @@
1
- import { Mr as MEMORY_RECONNECT_INTERVAL_MS, m as isRemTraceEnabled, p as getRemTraceLogPath, v as SettingsUnavailableError } from "../config-BWHnCb_Z.js";
1
+ import { Nr as MEMORY_RECONNECT_INTERVAL_MS, m as isRemTraceEnabled, p as getRemTraceLogPath, v as SettingsUnavailableError } from "../config-D_KOwEyg.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-C2XTjGFr.js");
9
+ const { startRemSidecar, DuplicateSidecarError } = await import("../server-DOL3D6bb.js");
10
10
  let sidecar;
11
11
  for (let attempt = 1; !sidecar; attempt++) try {
12
12
  sidecar = await startRemSidecar();
@@ -4,12 +4,12 @@ import "./internal/engine/shared/types.js";
4
4
  import "./internal/engine/security/redact.js";
5
5
  import "./internal/engine/shared/utils.js";
6
6
  import "./runtime-audit-log-DK6xAYxh.js";
7
- import "./llm-client-DPBhPtmQ.js";
7
+ import "./llm-client-C7yyFWu-.js";
8
8
  import "./capture-policy-detector-DaMfy9CZ.js";
9
9
  import "./ambient-learning-text-normalizer-CxjATmMp.js";
10
- import "./memory-temporality-classifier-Bm4-tqB5.js";
10
+ import "./memory-temporality-classifier-epuZlfXa.js";
11
11
  import "./scopes-a4Kly9n7.js";
12
- import "./atomic-memory-extraction-B5FW2HhR.js";
12
+ import "./atomic-memory-extraction-DWhlXJT6.js";
13
13
  import "./internal/store/sqlite-runtime.js";
14
14
  import "./connection-PQcq3TPO.js";
15
15
  import "./internal/store/data-paths.js";
@@ -19,12 +19,12 @@ import "./internal/engine/observability/observable-embedder.js";
19
19
  import "./internal/engine/observability/observable-llm-client.js";
20
20
  import "./internal/engine/observability/observable-memory-store.js";
21
21
  import "./internal/engine/retrieval/access-tracker.js";
22
- import "./retriever-Bzz6H8Mn.js";
22
+ import "./retriever-CpyZs2ND.js";
23
23
  import "./internal/engine/observability/observable-retriever.js";
24
24
  import "./internal/engine/observability/session-registry.js";
25
- import "./daily-log-generator-CH_KuWHs.js";
26
- import "./reflection-embedded-generator-CwTXvERI.js";
27
- import "./strategy-hook-runner-GaJKb3O8.js";
25
+ import "./daily-log-generator-DEsiCs7o.js";
26
+ import "./reflection-embedded-generator-nmVrj4AZ.js";
27
+ import "./strategy-hook-runner-CltVTtzk.js";
28
28
  import "./data-bootstrap-P8sie9WA.js";
29
29
  import "@snoai/sqlite-crypto";
30
30
  export {};
@@ -0,0 +1,31 @@
1
+ import "./types-DZGL4QXi.js";
2
+ import "./index-Pb9LrHgL.js";
3
+ import "./adapter-Cxyzdq6H.js";
4
+ import "./embedding-provider-client-vynZMuit.js";
5
+ import "./retriever-DdikFSDC.js";
6
+ import "./connection-3IVXpuPE.js";
7
+ import "./sqlite-runtime-L_ywirTm.js";
8
+ import "./store-DraRJ-HI.js";
9
+ import "./access-tracker-CglGg8uS.js";
10
+ import "./memory-tier-promoter-CSGa4LBH.js";
11
+ import "./capture-policy-detector-C7MA4jSr.js";
12
+ import "./memory-temporality-classifier-LByFBiFJ.js";
13
+ import "./runtime-audit-log-BVOxzkh7.js";
14
+ import "./atomic-memory-extraction-DO4yTfch.js";
15
+ import "./llm-client-B7LSFL_m.js";
16
+ import "./memory-snapshot-B8mQbWR-.js";
17
+ import "./observable-embedder-Da0teBqx.js";
18
+ import "./observable-llm-client-i0sp0veF.js";
19
+ import "./observable-memory-store-CS87pitJ.js";
20
+ import "./observable-retriever-Bhfg9DsZ.js";
21
+ import "./reflection-embedded-generator-CF-NbuPS.js";
22
+ import "./strategy-hook-runner-DH7OEQrH.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 };
@@ -6,11 +6,11 @@ import { _ as normalizeState, a as buildInsightMetadata, c as stringifyInsightMe
6
6
  import { redactSecrets } from "./internal/engine/security/redact.js";
7
7
  import { normalizeForCompare, tokenizeForFts } from "./internal/engine/shared/i18n-text.js";
8
8
  import { bytesToF32, clamp01, clampInt, f32ToBytes, sanitizeFtsConjunctiveQuery, sanitizeFtsQuery, stableHash } from "./internal/engine/shared/utils.js";
9
- import { t as checkMemoryOperation } from "./operation-cancellation-CTKWwNHk.js";
9
+ import { t as checkMemoryOperation } from "./operation-cancellation-QcwC4mDX.js";
10
10
  import { u as runWithMemoryAudit } from "./runtime-audit-log-DK6xAYxh.js";
11
11
  import { getSnoStationMemStateDir } from "./internal/contract/profile.js";
12
12
  import "./internal/engine/extraction/extraction-text-sanitizer.js";
13
- import "./memory-temporality-classifier-Bm4-tqB5.js";
13
+ import "./memory-temporality-classifier-epuZlfXa.js";
14
14
  import { a as readMemorySourceOrder, i as readCorrectionMoment, n as compareMemoryRetirementOrder, o as readMemorySourceOrderOrOldest, r as compareMemorySourceOrder, s as sameSourceTurn, t as closeMemoryRow } from "./memory-source-order-YMRoeDLd.js";
15
15
  import { REM_UPDATE_LOCALES, deriveRemWriteIdentity, getRemUpdateLocaleResource, writeRemTwoFacetTransaction } from "./internal/engine/rem/index.js";
16
16
  import { n as state_vocabulary_default, r as attribute_dictionary_default, t as relations } from "./relation-dictionary-Cev1kyLe.js";
@@ -1,5 +1,5 @@
1
1
  import "./embedding-provider-client-vynZMuit.js";
2
- import { B as TaskLifecycleMigrationManifest, H as TaskLifecycleMigrationSourceRow, a as AtomicExtractionRepairStrategy, c as AtomicExtractionRunParameters, n as AtomicExtractionLedgerEntry, o as AtomicExtractionReprocessBounds, s as AtomicExtractionReprocessReason, x as MemoryRelationPredicate, z as TaskLifecycleMigrationCensusRow } from "./memory-store-base-Bk2dOKED.js";
2
+ import { B as TaskLifecycleMigrationManifest, H as TaskLifecycleMigrationSourceRow, a as AtomicExtractionRepairStrategy, c as AtomicExtractionRunParameters, n as AtomicExtractionLedgerEntry, o as AtomicExtractionReprocessBounds, s as AtomicExtractionReprocessReason, x as MemoryRelationPredicate, z as TaskLifecycleMigrationCensusRow } from "./memory-store-base-CTAMKigD.js";
3
3
  import { a as StorageError } from "./errors-CeVRxf9V.js";
4
4
  import "./sqlite-runtime-L_ywirTm.js";
5
5
  //#region src/store/memory-store-relation-api.d.ts
@@ -1,7 +1,7 @@
1
1
  import { DEFAULT_REFLECTION_SESSION_TTL_MS } from "./internal/config/index.js";
2
2
  import { setLruEntry, touchLruEntry } from "./internal/engine/shared/lru.js";
3
3
  import { n as createErrorSignalTracker } from "./error-signals-lMH2uAdV.js";
4
- import { i as pruneReflectionState } from "./reflection-embedded-generator-CwTXvERI.js";
4
+ import { i as pruneReflectionState } from "./reflection-embedded-generator-nmVrj4AZ.js";
5
5
  import { a as loadAgentReflectionSlicesFromEntries } from "./memory-entry-projector-DHo8jH10.js";
6
6
  import { createLogger } from "@snoai/utils/logger";
7
7
  //#region src/engine/reflection/reflection-slice-loader.ts
@@ -1,10 +1,10 @@
1
- import { t as PluginConfig } from "./plugin-config-schema-BrhMvnXJ.js";
2
- import "./types-Ae3a8562.js";
3
- import "./reflection-embedded-generator-CogQIBcG.js";
4
- import { t as ReflectionLifecycleParams } from "./reflection-lifecycle-hooks-DMDhtidj.js";
5
- import { t as ReflectionInjectionParams } from "./reflection-injection-hooks-BnbfZqpj.js";
6
- import { t as ReflectionDeps } from "./reflection-deps-B5I0nYZS.js";
7
- import { t as ReflectionCommandParams } from "./reflection-command-hooks-CM2mWb69.js";
1
+ import { t as PluginConfig } from "./plugin-config-schema-CcEeAEdi.js";
2
+ import "./types-DZGL4QXi.js";
3
+ import "./reflection-embedded-generator-CF-NbuPS.js";
4
+ import { t as ReflectionLifecycleParams } from "./reflection-lifecycle-hooks-Ci8y4qHk.js";
5
+ import { t as ReflectionInjectionParams } from "./reflection-injection-hooks-BRIr3lJM.js";
6
+ import { t as ReflectionDeps } from "./reflection-deps-BPMrDU0a.js";
7
+ import { t as ReflectionCommandParams } from "./reflection-command-hooks-CFXyoVvE.js";
8
8
  //#region src/engine/reflection/strategy-hook-runner.d.ts
9
9
  declare function createReflectionStrategyState(config: PluginConfig, deps: ReflectionDeps): ReflectionStrategyState;
10
10
  type ReflectionStrategyState = {
@@ -1,4 +1,4 @@
1
- import "./plugin-config-schema-BrhMvnXJ.js";
1
+ import "./plugin-config-schema-CcEeAEdi.js";
2
2
  import { z } from "zod";
3
3
  import { ContentType } from "@snoai/chunking";
4
4
  //#region src/engine/extraction/memory-metadata-types.d.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snoai/memory",
3
- "version": "1.2.12",
3
+ "version": "1.2.13",
4
4
  "license": "Apache-2.0",
5
5
  "publishConfig": { "access": "public" },
6
6
  "repository": {
@@ -171,8 +171,8 @@
171
171
  "apiKey": ""
172
172
  },
173
173
  "rerank": {
174
- "mode": "lightweight",
175
- "provider": "voyage",
174
+ "mode": "cross-encoder",
175
+ "provider": "sno-gpu",
176
176
  "endpoint": "",
177
177
  "model": "rerank-2",
178
178
  "apiKey": "",
@@ -1,14 +0,0 @@
1
- import "./types-Ae3a8562.js";
2
- import "./index-Pb9LrHgL.js";
3
- import "./embedding-provider-client-vynZMuit.js";
4
- import "./retriever-DyxY59Lg.js";
5
- import "./memory-metadata-codec-wVAuoKrG.js";
6
- import "./store-BDIAl2cc.js";
7
- import "./capture-policy-detector-BvVGmxxX.js";
8
- import "./memory-temporality-classifier-CcxfHYoT.js";
9
- import "./runtime-audit-log-DdhLlTxi.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 +0,0 @@
1
- import "./profile-CF5oDjR7.js";
@@ -1,31 +0,0 @@
1
- import "./types-Ae3a8562.js";
2
- import "./index-Pb9LrHgL.js";
3
- import "./adapter-lyb6RaQE.js";
4
- import "./embedding-provider-client-vynZMuit.js";
5
- import "./retriever-DyxY59Lg.js";
6
- import "./connection-3IVXpuPE.js";
7
- import "./sqlite-runtime-L_ywirTm.js";
8
- import "./store-BDIAl2cc.js";
9
- import "./access-tracker-BOPHSJjf.js";
10
- import "./memory-tier-promoter-MkZPQ8u1.js";
11
- import "./capture-policy-detector-BvVGmxxX.js";
12
- import "./memory-temporality-classifier-CcxfHYoT.js";
13
- import "./runtime-audit-log-DdhLlTxi.js";
14
- import "./atomic-memory-extraction-B_XpkhMd.js";
15
- import "./llm-client-BTaUVmDe.js";
16
- import "./memory-snapshot-uTdxJnIh.js";
17
- import "./observable-embedder-CGr3Zejf.js";
18
- import "./observable-llm-client-CXUA7Gi3.js";
19
- import "./observable-memory-store-BwwKcUzf.js";
20
- import "./observable-retriever-bJbG9WtJ.js";
21
- import "./reflection-embedded-generator-CogQIBcG.js";
22
- import "./strategy-hook-runner-DT9emgCZ.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 };