@snoai/memory 1.5.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +1 -1
  2. package/dist/{access-tracker-D-riPZRY.d.ts → access-tracker-CFxRg7Bt.d.ts} +4 -4
  3. package/dist/{adapter-BM58hult.d.ts → adapter-BFtbOOw3.d.ts} +2 -2
  4. package/dist/{atomic-extraction-reply-BJ9XV_9s.js → atomic-extraction-reply-DF_S9ROg.js} +6 -3
  5. package/dist/{atomic-memory-extraction-BNBCB1XD.d.ts → atomic-memory-extraction-Bp7AWZqi.d.ts} +4 -4
  6. package/dist/{atomic-memory-extraction-BaBrfESt.js → atomic-memory-extraction-pL1_58Kw.js} +45 -6
  7. package/dist/{b-profile-section-dictionary-provider-D2kzg9Re.d.ts → b-profile-section-dictionary-provider-Buj_M-QA.d.ts} +1 -1
  8. package/dist/{capture-policy-detector-CoT-j_Ic.d.ts → capture-policy-detector-3tDQkBi9.d.ts} +1 -1
  9. package/dist/client.d.ts +1 -1
  10. package/dist/{coding-skin-azRXA51Z.js → coding-skin-AW1UPUPY.js} +9 -1
  11. package/dist/coding-skin.d.ts +8 -0
  12. package/dist/coding-skin.js +2 -2
  13. package/dist/{config-BhlMin82.js → config-BwUcq2zS.js} +61 -126
  14. package/dist/{derived-suppression-cache-BW52dq3w.d.ts → derived-suppression-cache-CcANI-p7.d.ts} +1 -1
  15. package/dist/diagnostic-encoder.js +1 -1
  16. package/dist/{index-BGu91bjB.d.ts → index-CJrMFlAU.d.ts} +12 -50
  17. package/dist/{index-GoYmsx8b.d.ts → index-Df9420Pl.d.ts} +2 -2
  18. package/dist/index.d.ts +9 -9
  19. package/dist/index.js +6 -6
  20. package/dist/internal/config/index.d.ts +2 -2
  21. package/dist/internal/config/index.js +13 -51
  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 +17 -48
  27. package/dist/internal/config/skin-defaults.d.ts +1 -1
  28. package/dist/internal/contract/profile.d.ts +1 -1
  29. package/dist/internal/contract/routes.d.ts +1 -1
  30. package/dist/internal/engine/bindings/memory-cli-shared.d.ts +4 -4
  31. package/dist/internal/engine/bindings/memory-forget-tool.js +1 -1
  32. package/dist/internal/engine/bindings/memory-list-tool.js +1 -1
  33. package/dist/internal/engine/bindings/memory-recall-tool.js +1 -1
  34. package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +1 -1
  35. package/dist/internal/engine/bindings/memory-stats-tool.js +1 -1
  36. package/dist/internal/engine/bindings/memory-store-tool.js +3 -3
  37. package/dist/internal/engine/bindings/memory-tool-access.d.ts +1 -1
  38. package/dist/internal/engine/bindings/memory-tool-access.js +1 -1
  39. package/dist/internal/engine/bindings/memory-tool-results.d.ts +1 -1
  40. package/dist/internal/engine/bindings/memory-tool-results.js +1 -1
  41. package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +5 -5
  42. package/dist/internal/engine/bindings/memory-tool-schemas.js +1 -1
  43. package/dist/internal/engine/bindings/memory-update-tool.js +2 -2
  44. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +4 -4
  45. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +3 -3
  46. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +4 -4
  47. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +1 -1
  48. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +5 -5
  49. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +3 -2
  50. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +2 -2
  51. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +3 -3
  52. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +1 -1
  53. package/dist/internal/engine/eval/trace.js +3 -4
  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/memory-metadata-codec.d.ts +2 -2
  60. package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +1 -1
  61. package/dist/internal/engine/extraction/memory-temporality-classifier.js +1 -1
  62. package/dist/internal/engine/observability/adapter.d.ts +1 -1
  63. package/dist/internal/engine/observability/memory-snapshot.d.ts +1 -1
  64. package/dist/internal/engine/observability/observable-embedder.d.ts +1 -1
  65. package/dist/internal/engine/observability/observable-llm-client.d.ts +1 -1
  66. package/dist/internal/engine/observability/observable-memory-store.d.ts +1 -1
  67. package/dist/internal/engine/observability/observable-memory-store.js +1 -1
  68. package/dist/internal/engine/observability/observable-retriever.d.ts +1 -1
  69. package/dist/internal/engine/observability/observable-retriever.js +1 -1
  70. package/dist/internal/engine/observability/runtime-diagnostics.d.ts +1 -1
  71. package/dist/internal/engine/observability/runtime-diagnostics.js +3 -3
  72. package/dist/internal/engine/operations/memory-tier-promoter.d.ts +1 -1
  73. package/dist/internal/engine/operations/runtime-audit-log.d.ts +2 -2
  74. package/dist/internal/engine/provider/provider-registration.d.ts +4 -4
  75. package/dist/internal/engine/provider/provider-row-renderer.d.ts +1 -1
  76. package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +1 -1
  77. package/dist/internal/engine/reflection/reflection-command-hooks.js +1 -1
  78. package/dist/internal/engine/reflection/reflection-deps.d.ts +1 -1
  79. package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +1 -1
  80. package/dist/internal/engine/reflection/reflection-embedded-generator.js +1 -1
  81. package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +1 -1
  82. package/dist/internal/engine/reflection/reflection-injection-hooks.js +1 -1
  83. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +1 -1
  84. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +1 -1
  85. package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +3 -3
  86. package/dist/internal/engine/reflection/strategy-hook-runner.js +2 -2
  87. package/dist/internal/engine/retrieval/access-tracker.d.ts +1 -1
  88. package/dist/internal/engine/retrieval/retriever.d.ts +2 -2
  89. package/dist/internal/engine/retrieval/retriever.js +2 -2
  90. package/dist/internal/engine/shared/memory-kind-policy.d.ts +1 -1
  91. package/dist/internal/engine/shared/paths.d.ts +2 -2
  92. package/dist/internal/engine/shared/types.d.ts +2 -2
  93. package/dist/internal/engine/shared/types.js +1 -1
  94. package/dist/internal/engine/telemetry/observe-ledger.d.ts +1 -1
  95. package/dist/internal/model/llm-client.d.ts +2 -2
  96. package/dist/internal/model/llm-client.js +1 -1
  97. package/dist/internal/model/llm-mode-routing.d.ts +1 -1
  98. package/dist/internal/model/llm-mode-routing.js +1 -1
  99. package/dist/internal/store/maintenance.d.ts +2 -2
  100. package/dist/internal/store/maintenance.js +4 -4
  101. package/dist/internal/store/store.d.ts +2 -2
  102. package/dist/internal/store/store.js +1 -1
  103. package/dist/{llm-client-Z_VkmTsW.js → llm-client-Dq9FZPdC.js} +43 -10
  104. package/dist/{llm-client-9XCsnmf0.d.ts → llm-client-nWW1o1F6.d.ts} +1 -1
  105. package/dist/{log-site-catalog.generated-lc-iJczN.js → log-site-catalog.generated-Wze-GrOG.js} +130 -200
  106. package/dist/log-site-catalog.json +1 -1
  107. package/dist/{memory-kind-policy-DcEvUTKl.d.ts → memory-kind-policy-BMebgugU.d.ts} +1 -1
  108. package/dist/{memory-metadata-codec-CLtCCf-b.d.ts → memory-metadata-codec-H8BniJM3.d.ts} +1 -1
  109. package/dist/{memory-runtime-De1T9jTv.js → memory-runtime-B4A1t5DO.js} +182 -207
  110. package/dist/{memory-snapshot-BXB2APN0.d.ts → memory-snapshot-CKnQovB5.d.ts} +2 -2
  111. package/dist/{memory-store-base-yOAD7Ff8.d.ts → memory-store-base-BHYXgsCq.d.ts} +3 -3
  112. package/dist/{memory-temporality-classifier-s7TjoKB-.js → memory-temporality-classifier-CHcnOT5T.js} +2 -2
  113. package/dist/{memory-temporality-classifier-BxmM3FOb.d.ts → memory-temporality-classifier-Wi6WWeAj.d.ts} +1 -1
  114. package/dist/{memory-tier-promoter-DjJwYB4w.d.ts → memory-tier-promoter-m60-RlAj.d.ts} +1 -1
  115. package/dist/{memory-tool-dependencies-C8JSCWCz.js → memory-tool-dependencies-CAVm0Sy4.js} +1 -1
  116. package/dist/memory-tool-dependencies-D2fOC-KL.d.ts +14 -0
  117. package/dist/{model-call-table-CPyQfBJ6.js → model-call-table-DjfbmUDl.js} +12 -7
  118. package/dist/{observable-embedder-DCtHXucw.d.ts → observable-embedder-0FwxJMhJ.d.ts} +1 -1
  119. package/dist/{observable-llm-client-DykY0exK.d.ts → observable-llm-client-DY7w1Fj1.d.ts} +3 -3
  120. package/dist/{observable-memory-store-ZBTjMAHj.d.ts → observable-memory-store-C25Q_hoW.d.ts} +4 -4
  121. package/dist/{observable-retriever-f8ENkQnP.d.ts → observable-retriever-Cs9Bwzq6.d.ts} +5 -5
  122. package/dist/paths-obFSsJv3.d.ts +1 -0
  123. package/dist/{plugin-config-schema-D9riSXDg.js → plugin-config-schema-D-IoHmis.js} +22 -43
  124. package/dist/{plugin-config-schema-CsKKIHq9.d.ts → plugin-config-schema-DQh5njrS.d.ts} +8 -10
  125. package/dist/{profile-CxdMGvxU.d.ts → profile-CcvVR6K8.d.ts} +1 -1
  126. package/dist/{profile-section-writer-B54r7JN1.js → profile-section-writer-3apndAJu.js} +2 -2
  127. package/dist/{reflection-command-hooks-a1kgC2cr.js → reflection-command-hooks-B9UENMGV.js} +4 -3
  128. package/dist/{reflection-command-hooks-_B_XZBIz.d.ts → reflection-command-hooks-BRLqVNCi.d.ts} +4 -4
  129. package/dist/{reflection-deps-DQBHeGYK.d.ts → reflection-deps-C0TJ-gpU.d.ts} +2 -2
  130. package/dist/{reflection-embedded-generator-LmZQqGER.d.ts → reflection-embedded-generator-Cs59hWYr.d.ts} +3 -3
  131. package/dist/{reflection-embedded-generator-DEuTWrBh.js → reflection-embedded-generator-Do_r_LbU.js} +2 -1
  132. package/dist/{reflection-injection-hooks-CTDCwu2_.d.ts → reflection-injection-hooks-Cy4bRemm.d.ts} +4 -4
  133. package/dist/{reflection-lifecycle-hooks-eFUc2mcd.d.ts → reflection-lifecycle-hooks-C-lf00DB.d.ts} +3 -3
  134. package/dist/{rem-batch-executor-D42YWCNg.js → rem-batch-executor-BUgNyYLv.js} +1 -1
  135. package/dist/{rem-trigger-BKr4Qmhn.js → rem-trigger-pg_cCp5U.js} +74 -437
  136. package/dist/{retriever-BsjtyINJ.d.ts → retriever-2RJYAvlD.d.ts} +10 -52
  137. package/dist/{retriever-CsBW6MZv.js → retriever-C54bXeDh.js} +30 -452
  138. package/dist/{runtime-audit-log-C-L0v2HU.d.ts → runtime-audit-log-D2Hqk_kl.d.ts} +1 -1
  139. package/dist/{server-BPOT66a_.js → server-CByyXSvp.js} +4 -4
  140. package/dist/sidecar/main.js +2 -2
  141. package/dist/sno-station-mem-runtime-dependencies-ByI3b-wB.d.ts +31 -0
  142. package/dist/{sno-station-mem-runtime-dependencies-DES7ZvMt.js → sno-station-mem-runtime-dependencies-CgNS1dIM.js} +6 -6
  143. package/dist/{store-CukgAPqu.d.ts → store-Bz0y76cJ.d.ts} +1 -1
  144. package/dist/{store-DRwqWMTh.js → store-DNgKOGWP.js} +1 -1
  145. package/dist/{strategy-hook-runner-s8dAEQ3P.js → strategy-hook-runner-Bg6rBY71.js} +1 -1
  146. package/dist/{strategy-hook-runner-BlJxjMjC.d.ts → strategy-hook-runner-vbrWiDbK.d.ts} +7 -7
  147. package/dist/{types-C9Hngi-p.d.ts → types-El7jViCz.d.ts} +1 -1
  148. package/package.json +1 -1
  149. package/settings.default.json +9 -10
  150. package/skills/extract-atomic-memory/SKILL.md +4 -3
  151. package/skills/extract-atomic-memory/references/capture.md +3 -2
  152. package/dist/memory-tool-dependencies-BsaSVzC8.d.ts +0 -14
  153. package/dist/paths-m8yncZgm.d.ts +0 -1
  154. package/dist/sno-station-mem-runtime-dependencies-B47DIcei.d.ts +0 -31
@@ -1,5 +1,5 @@
1
- import { b as Settings, g as ProductMode } from "../../plugin-config-schema-CsKKIHq9.js";
2
- import { C as MemoryStore } from "../../memory-store-base-yOAD7Ff8.js";
1
+ import { b as Settings, g as ProductMode } from "../../plugin-config-schema-DQh5njrS.js";
2
+ import { C as MemoryStore } from "../../memory-store-base-BHYXgsCq.js";
3
3
  import { r as MemoryTelemetryUsageOutbox } from "../../memory-telemetry-outbox-ddTdImt7.js";
4
4
  import { runIntegrityCheck } from "@snoai/sqlite-crypto";
5
5
  //#region src/store/maintenance.d.ts
@@ -1,12 +1,12 @@
1
1
  import { BACKUP_INTERVAL_MS, BACKUP_MIN_FREE_DISK_RATIO, FTS_MERGE_INTERVAL_MS, INTEGRITY_CHECK_INTERVAL_MS, MAINTENANCE_TICK_MS, PLANNER_STATISTICS_INTERVAL_MS, REM_TRIGGER_CHECK_INTERVAL_MS, USAGE_EVENT_RETENTION_INTERVAL_MS, USAGE_OUTBOX_INTERVAL_MS } from "../config/index.js";
2
2
  import { REM_SIDECAR_TOKEN_HEADER } from "../contract/routes.js";
3
3
  import "../engine/shared/utils.js";
4
- import "../../coding-skin-azRXA51Z.js";
4
+ import "../../coding-skin-AW1UPUPY.js";
5
5
  import "../config/settings.js";
6
6
  import { n as appendAuditEntryStrict, p as readJsonlLines, s as getAuditPath, t as appendAuditEntry } from "../../runtime-audit-log-DK6xAYxh.js";
7
7
  import { getDiscoveryPath, getSnoStationMemStateDir } from "../contract/profile.js";
8
8
  import "../engine/shared/paths.js";
9
- import "../../llm-client-Z_VkmTsW.js";
9
+ import "../../llm-client-Dq9FZPdC.js";
10
10
  import "../model/llm-mode-routing.js";
11
11
  import { defineRemSafetyGuard, requireRemOwnerDecisions } from "../engine/rem/index.js";
12
12
  import { n as state_vocabulary_default, r as attribute_dictionary_default } from "../../relation-dictionary-Cev1kyLe.js";
@@ -14,9 +14,9 @@ import "../../memory-store-shared-pOb59ScU.js";
14
14
  import { n as loadSqliteVecExtension } from "../../unplaced-candidate-migration-BCcdQkcx.js";
15
15
  import { openSqliteDatabase } from "./sqlite-runtime.js";
16
16
  import "../../connection-BtK-3r-f.js";
17
- import "../../store-DRwqWMTh.js";
17
+ import "../../store-DNgKOGWP.js";
18
18
  import "../../embedding-provider-client-CgpUK_1G.js";
19
- import "../../retriever-CsBW6MZv.js";
19
+ import "../../retriever-C54bXeDh.js";
20
20
  import { t as recordMemoryTelemetryIncident } from "../../memory-telemetry-incidents-BWA9kcZx.js";
21
21
  import { z } from "zod";
22
22
  import "@snoai/chunking";
@@ -1,3 +1,3 @@
1
- import { $ as TodoListResult, A as StaleSupersedeTargetError, B as TaskLifecycleMigrationManifest, C as MemoryStore, D as ProfileRecoveryEntry, E as MemorySuppressionResult, F as TaskLifecycleBatchWriteResult, G as TaskLifecycleTimestampCollisionError, H as TaskLifecycleMigrationSourceRow, I as TaskLifecycleCommandCollisionError, J as TaskLifecycleTimestampSource, K as TaskLifecycleTimestampInput, L as TaskLifecycleCommandReplayInput, M as SupersedeClose, N as SupersedePreserveExisting, O as ProfileRecoveryWrite, P as TaskLifecycleBatchWriteInput, Q as TodoListInput, R as TaskLifecycleMigrationApplyResult, S as MemoryRelationWalkInput, T as MemorySuppressionInput, U as TaskLifecycleStaleResolutionError, V as TaskLifecycleMigrationManifestRow, W as TaskLifecycleStateCollisionError, X as TaskLifecycleWriteOutcome, Y as TaskLifecycleWriteInput, Z as TaskLifecycleWriteResult, _ as CorrectMemoryInput, _t as UnplacedCandidate, a as AtomicExtractionRepairStrategy, at as ListOptions, b as MemoryRelation, c as AtomicExtractionRunParameters, ct as QuarantineDispositionReason, d as AtomicExtractionWriteRelation, dt as RecordUnplacedCandidateResult, et as TodoRecord, f as AtomicExtractionWriteResult, ft as SearchOptions, g as BeginAtomicExtractionChunkResult, gt as StoreResult, h as BeginAtomicExtractionChunkInput, ht as StoreInput, i as AtomicExtractionLedgerState, it as ChunkSearchRow, j as SupersedeActiveFactGuard, k as ReopenAtomicExtractionChunkResult, l as AtomicExtractionWriteCard, lt as QuarantinedStoreInput, m as AtomicMemoryEntityResolution, mt as StoreConfig, n as AtomicExtractionLedgerEntry, nt as BulkDeleteResult, o as AtomicExtractionReprocessBounds, ot as MemoryRow, p as AtomicMemoryEntityRegistration, pt as StatsResult, q as TaskLifecycleTimestampResolution, r as AtomicExtractionLedgerKey, rt as ChunkSearchResult, s as AtomicExtractionReprocessReason, st as PreparedChunkRow, t as ActiveTaskProjectionGuard, tt as TodoStatus, u as AtomicExtractionWriteInput, ut as RecordUnplacedCandidateInput, v as CorrectMemoryResult, vt as UnplacedCandidateQuery, w as MemoryStoreInternals, x as MemoryRelationPredicate, y as ExtractionTimestampResolution, yt as UpdateChanges, z as TaskLifecycleMigrationCensusRow } from "../../memory-store-base-yOAD7Ff8.js";
2
- import { a as repairAtomicExtractionParameters, i as AtomicExtractionCompletedElsewhere, n as ATOMIC_FACT_SURFACE_LANE, o as normalizeMemoryRelationPredicate, r as hashMemorySuppressionContent, t as buildTaskLifecycleMigrationManifest } from "../../store-CukgAPqu.js";
1
+ import { $ as TodoListResult, A as StaleSupersedeTargetError, B as TaskLifecycleMigrationManifest, C as MemoryStore, D as ProfileRecoveryEntry, E as MemorySuppressionResult, F as TaskLifecycleBatchWriteResult, G as TaskLifecycleTimestampCollisionError, H as TaskLifecycleMigrationSourceRow, I as TaskLifecycleCommandCollisionError, J as TaskLifecycleTimestampSource, K as TaskLifecycleTimestampInput, L as TaskLifecycleCommandReplayInput, M as SupersedeClose, N as SupersedePreserveExisting, O as ProfileRecoveryWrite, P as TaskLifecycleBatchWriteInput, Q as TodoListInput, R as TaskLifecycleMigrationApplyResult, S as MemoryRelationWalkInput, T as MemorySuppressionInput, U as TaskLifecycleStaleResolutionError, V as TaskLifecycleMigrationManifestRow, W as TaskLifecycleStateCollisionError, X as TaskLifecycleWriteOutcome, Y as TaskLifecycleWriteInput, Z as TaskLifecycleWriteResult, _ as CorrectMemoryInput, _t as UnplacedCandidate, a as AtomicExtractionRepairStrategy, at as ListOptions, b as MemoryRelation, c as AtomicExtractionRunParameters, ct as QuarantineDispositionReason, d as AtomicExtractionWriteRelation, dt as RecordUnplacedCandidateResult, et as TodoRecord, f as AtomicExtractionWriteResult, ft as SearchOptions, g as BeginAtomicExtractionChunkResult, gt as StoreResult, h as BeginAtomicExtractionChunkInput, ht as StoreInput, i as AtomicExtractionLedgerState, it as ChunkSearchRow, j as SupersedeActiveFactGuard, k as ReopenAtomicExtractionChunkResult, l as AtomicExtractionWriteCard, lt as QuarantinedStoreInput, m as AtomicMemoryEntityResolution, mt as StoreConfig, n as AtomicExtractionLedgerEntry, nt as BulkDeleteResult, o as AtomicExtractionReprocessBounds, ot as MemoryRow, p as AtomicMemoryEntityRegistration, pt as StatsResult, q as TaskLifecycleTimestampResolution, r as AtomicExtractionLedgerKey, rt as ChunkSearchResult, s as AtomicExtractionReprocessReason, st as PreparedChunkRow, t as ActiveTaskProjectionGuard, tt as TodoStatus, u as AtomicExtractionWriteInput, ut as RecordUnplacedCandidateInput, v as CorrectMemoryResult, vt as UnplacedCandidateQuery, w as MemoryStoreInternals, x as MemoryRelationPredicate, y as ExtractionTimestampResolution, yt as UpdateChanges, z as TaskLifecycleMigrationCensusRow } from "../../memory-store-base-BHYXgsCq.js";
2
+ import { a as repairAtomicExtractionParameters, i as AtomicExtractionCompletedElsewhere, n as ATOMIC_FACT_SURFACE_LANE, o as normalizeMemoryRelationPredicate, r as hashMemorySuppressionContent, t as buildTaskLifecycleMigrationManifest } from "../../store-Bz0y76cJ.js";
3
3
  export { ATOMIC_FACT_SURFACE_LANE, ActiveTaskProjectionGuard, AtomicExtractionCompletedElsewhere, AtomicExtractionLedgerEntry, AtomicExtractionLedgerKey, AtomicExtractionLedgerState, AtomicExtractionRepairStrategy, AtomicExtractionReprocessBounds, AtomicExtractionReprocessReason, AtomicExtractionRunParameters, AtomicExtractionWriteCard, AtomicExtractionWriteInput, AtomicExtractionWriteRelation, AtomicExtractionWriteResult, AtomicMemoryEntityRegistration, AtomicMemoryEntityResolution, BeginAtomicExtractionChunkInput, BeginAtomicExtractionChunkResult, type BulkDeleteResult, type ChunkSearchResult, type ChunkSearchRow, CorrectMemoryInput, CorrectMemoryResult, ExtractionTimestampResolution, type ListOptions, MemoryRelation, MemoryRelationPredicate, MemoryRelationWalkInput, type MemoryRow, MemoryStore, MemoryStoreInternals, MemorySuppressionInput, MemorySuppressionResult, type PreparedChunkRow, ProfileRecoveryEntry, ProfileRecoveryWrite, type QuarantineDispositionReason, type QuarantinedStoreInput, type RecordUnplacedCandidateInput, type RecordUnplacedCandidateResult, ReopenAtomicExtractionChunkResult, type SearchOptions, StaleSupersedeTargetError, type StatsResult, type StoreConfig, type StoreInput, type StoreResult, SupersedeActiveFactGuard, SupersedeClose, SupersedePreserveExisting, TaskLifecycleBatchWriteInput, TaskLifecycleBatchWriteResult, TaskLifecycleCommandCollisionError, TaskLifecycleCommandReplayInput, TaskLifecycleMigrationApplyResult, TaskLifecycleMigrationCensusRow, TaskLifecycleMigrationManifest, TaskLifecycleMigrationManifestRow, TaskLifecycleMigrationSourceRow, TaskLifecycleStaleResolutionError, TaskLifecycleStateCollisionError, TaskLifecycleTimestampCollisionError, TaskLifecycleTimestampInput, TaskLifecycleTimestampResolution, TaskLifecycleTimestampSource, TaskLifecycleWriteInput, TaskLifecycleWriteOutcome, TaskLifecycleWriteResult, TodoListInput, TodoListResult, TodoRecord, TodoStatus, type UnplacedCandidate, type UnplacedCandidateQuery, type UpdateChanges, buildTaskLifecycleMigrationManifest, hashMemorySuppressionContent, normalizeMemoryRelationPredicate, repairAtomicExtractionParameters };
@@ -1,2 +1,2 @@
1
- import { C as TaskLifecycleCommandCollisionError, E as TaskLifecycleTimestampCollisionError, S as StaleSupersedeTargetError, T as TaskLifecycleStateCollisionError, _ as hashMemorySuppressionContent, b as normalizeMemoryRelationPredicate, p as ATOMIC_FACT_SURFACE_LANE, t as buildTaskLifecycleMigrationManifest, v as AtomicExtractionCompletedElsewhere, w as TaskLifecycleStaleResolutionError, x as MemoryStore, y as repairAtomicExtractionParameters } from "../../store-DRwqWMTh.js";
1
+ import { C as TaskLifecycleCommandCollisionError, E as TaskLifecycleTimestampCollisionError, S as StaleSupersedeTargetError, T as TaskLifecycleStateCollisionError, _ as hashMemorySuppressionContent, b as normalizeMemoryRelationPredicate, p as ATOMIC_FACT_SURFACE_LANE, t as buildTaskLifecycleMigrationManifest, v as AtomicExtractionCompletedElsewhere, w as TaskLifecycleStaleResolutionError, x as MemoryStore, y as repairAtomicExtractionParameters } from "../../store-DNgKOGWP.js";
2
2
  export { ATOMIC_FACT_SURFACE_LANE, AtomicExtractionCompletedElsewhere, MemoryStore, StaleSupersedeTargetError, TaskLifecycleCommandCollisionError, TaskLifecycleStaleResolutionError, TaskLifecycleStateCollisionError, TaskLifecycleTimestampCollisionError, buildTaskLifecycleMigrationManifest, hashMemorySuppressionContent, normalizeMemoryRelationPredicate, repairAtomicExtractionParameters };
@@ -1,7 +1,7 @@
1
1
  import "./internal/config/index.js";
2
2
  import { ct as FIXED_PROTOCOL_VALUE_69, d as FIXED_EXTERNAL_VALUE_8, f as FIXED_EXTERNAL_VALUE_9 } from "./signed-registry-constants-yq3DlG3B.js";
3
3
  import { a as memoryOperationSignal, i as memoryOperationId, r as memoryOperationDeadline, t as checkMemoryOperation } from "./operation-cancellation-QcwC4mDX.js";
4
- import { n as MODEL_CALL_WORKLOAD, t as MODEL_CALLS } from "./model-call-table-CPyQfBJ6.js";
4
+ import { n as MODEL_CALL_WORKLOAD, t as MODEL_CALLS } from "./model-call-table-DjfbmUDl.js";
5
5
  import { classifyLlmFailure, isCredentialFailure, isTransientLlmStatus } from "./internal/model/llm-failure.js";
6
6
  import { a as repairCommonJson, i as previewText, n as readModelReplyJson, r as extractJsonFromResponse } from "./model-reply-text-CKopStP2.js";
7
7
  import { resolveLlmRoute } from "./internal/model/llm-mode-routing.js";
@@ -218,11 +218,12 @@ const routeInFlight = /* @__PURE__ */ new Map();
218
218
  const providerResponses = new AsyncLocalStorage();
219
219
  /** Sno GPU request attribution (GPU_REQUEST_METADATA_STANDARD): self-reported labels, never identity. */
220
220
  const SNO_GPU_SOURCE = "sno-station";
221
- function snoGpuAttributionHeaders(clientRequestId, callId) {
221
+ function snoGpuAttributionHeaders(clientRequestId, callId, usageClass) {
222
222
  return {
223
223
  "X-Sno-Source": SNO_GPU_SOURCE,
224
224
  "X-Sno-Workload": callId ? MODEL_CALL_WORKLOAD[callId] : "station-aux",
225
- "X-Request-ID": clientRequestId
225
+ "X-Request-ID": clientRequestId,
226
+ ...usageClass ? { "X-Sno-Usage-Class": usageClass } : {}
226
227
  };
227
228
  }
228
229
  async function observeRequest(input, run) {
@@ -438,7 +439,7 @@ async function callSnoProfileCompletion(request) {
438
439
  headers: {
439
440
  "Content-Type": "application/json",
440
441
  "X-Internal-Token": request.apiKey,
441
- ...snoGpuAttributionHeaders(diagnostic.clientRequestId, request.callId),
442
+ ...snoGpuAttributionHeaders(diagnostic.clientRequestId, request.callId, request.usageClass),
442
443
  ...request.operationId ? { "X-Sno-Operation": request.operationId } : {}
443
444
  },
444
445
  body: JSON.stringify({
@@ -499,6 +500,32 @@ function isCcproxyOpenAiBaseUrl(value) {
499
500
  return false;
500
501
  }
501
502
  }
503
+ /** Joins a chat-completion SSE stream into the body a non-streamed reply carries; `: ping` comments are skipped. */
504
+ function assembleChatStream(text) {
505
+ const body = {};
506
+ let message;
507
+ for (const line of text.split("\n")) {
508
+ if (!line.startsWith("data:")) continue;
509
+ const data = line.slice(5).trim();
510
+ if (data === "[DONE]") break;
511
+ const chunk = JSON.parse(data);
512
+ body.id ??= chunk.id;
513
+ body.model ??= chunk.model;
514
+ if (chunk.usage) body.usage = chunk.usage;
515
+ const choice = chunk.choices?.[0];
516
+ if (!choice) continue;
517
+ message ??= { content: "" };
518
+ if (typeof choice.delta?.content === "string") message.content += choice.delta.content;
519
+ if (choice.finish_reason) message.finishReason = choice.finish_reason;
520
+ }
521
+ return {
522
+ ...body,
523
+ choices: message ? [{
524
+ message: { content: message.content },
525
+ finish_reason: message.finishReason
526
+ }] : []
527
+ };
528
+ }
502
529
  async function snoStationMemDispatch(ctx) {
503
530
  const cfgExt = ctx.config;
504
531
  const provider = ctx.provider;
@@ -538,7 +565,7 @@ async function snoStationMemDispatch(ctx) {
538
565
  if (typeof cfgExt.requestId === "string") headers["X-Request-ID"] = cfgExt.requestId;
539
566
  if (provider === "sno-gpu") {
540
567
  headers["X-Internal-Token"] = ctx.apiKey;
541
- Object.assign(headers, snoGpuAttributionHeaders(diagnostic.clientRequestId, cfgExt.callId));
568
+ Object.assign(headers, snoGpuAttributionHeaders(diagnostic.clientRequestId, cfgExt.callId, cfgExt.usageClass));
542
569
  if (typeof cfgExt.operationId === "string") headers["X-Sno-Operation"] = cfgExt.operationId;
543
570
  } else headers.Authorization = `Bearer ${ctx.apiKey}`;
544
571
  let response;
@@ -550,7 +577,11 @@ async function snoStationMemDispatch(ctx) {
550
577
  body: JSON.stringify({
551
578
  model: ctx.model,
552
579
  messages: ctx.messages,
553
- ...callBody
580
+ ...callBody,
581
+ ...provider === "sno-gpu" ? {
582
+ stream: true,
583
+ stream_options: { include_usage: true }
584
+ } : {}
554
585
  })
555
586
  });
556
587
  diagnostic.headersAt = performance.now();
@@ -568,7 +599,7 @@ async function snoStationMemDispatch(ctx) {
568
599
  }
569
600
  let body;
570
601
  try {
571
- body = await response.json();
602
+ body = response.headers.get("content-type")?.includes("text/event-stream") ? assembleChatStream(await response.text()) : await response.json();
572
603
  diagnostic.bodyAt = performance.now();
573
604
  } catch (parseErr) {
574
605
  if (abortedProviderCategory(requestAbort)) throwTerminalAbort(parseErr, requestAbort);
@@ -614,6 +645,7 @@ async function callProvider(ctx) {
614
645
  if (typeof raw.endpointUrl !== "string" || typeof raw.prompt !== "string" || typeof raw.timeoutMs !== "number") throw new Error("sno-station-mem llm-client: invalid raw profile completion config");
615
646
  return {
616
647
  ...await callSnoProfileCompletion({
648
+ ...cfgExt.usageClass ? { usageClass: cfgExt.usageClass } : {},
617
649
  ...cfgExt.promptTemplateHash ? { promptTemplateHash: cfgExt.promptTemplateHash } : {},
618
650
  ...cfgExt.extractionSkillHash ? { extractionSkillHash: cfgExt.extractionSkillHash } : {},
619
651
  endpointUrl: raw.endpointUrl,
@@ -776,6 +808,7 @@ function buildPipelineConfig(preset, config, endpoint, request, destination, ope
776
808
  destination,
777
809
  ...request.requestId ? { requestId: request.requestId } : {},
778
810
  ...operationId ? { operationId } : {},
811
+ ...config.usageClass ? { usageClass: config.usageClass } : {},
779
812
  ...request.promptTemplateHash ? { promptTemplateHash: request.promptTemplateHash } : {},
780
813
  ...request.extractionSkillHash ? { extractionSkillHash: request.extractionSkillHash } : {},
781
814
  ...request.signal ? { signal: request.signal } : {},
@@ -888,12 +921,12 @@ function createLlmClient(config) {
888
921
  let lastError = null;
889
922
  let lastUsage = null;
890
923
  const resolveRequestTimeoutMs = (request) => {
891
- if (destinationFor(request) !== "sno-gpu" || !request.callId.startsWith("E") || MODEL_CALLS[request.callId].occasion !== "memoryExtract") return request.timeoutMs ?? config.timeoutMs ?? 3e4;
924
+ if (!request.callId.startsWith("E") || MODEL_CALLS[request.callId].occasion !== "memoryExtract") return request.timeoutMs ?? config.timeoutMs ?? 3e4;
892
925
  const operationDeadline = memoryOperationDeadline();
893
926
  if (operationDeadline === void 0) return request.timeoutMs ?? 3e5;
894
927
  const remainingMs = operationDeadline - performance.now();
895
928
  if (remainingMs <= 0) throw new LlmClientTerminalError("timeout", "Memory operation deadline exhausted before extraction");
896
- return Math.min(request.timeoutMs ?? remainingMs, remainingMs);
929
+ return Math.floor(Math.min(request.timeoutMs ?? remainingMs, remainingMs));
897
930
  };
898
931
  const destinationFor = (request) => {
899
932
  if (!config.routing) return "host";
@@ -1221,7 +1254,7 @@ function createLlmClient(config) {
1221
1254
  const attemptLimit = request.emptyReplyAttempts ?? EMPTY_REPLY_ATTEMPTS;
1222
1255
  for (let attempt = 2; attempt <= attemptLimit; attempt += 1) {
1223
1256
  if (content === null || content.raw.trim().length > 0 || budget.remaining <= 0) break;
1224
- const remainingMs = deadlineMs - performance.now();
1257
+ const remainingMs = Math.floor(deadlineMs - performance.now());
1225
1258
  if (remainingMs <= 0) break;
1226
1259
  log.debug("Retrying empty model reply", {
1227
1260
  call_id: request.callId,
@@ -1,4 +1,4 @@
1
- import { i as LlmClientConfig, l as ModelCallId, r as LlmClient } from "./plugin-config-schema-CsKKIHq9.js";
1
+ import { i as LlmClientConfig, l as ModelCallId, r as LlmClient } from "./plugin-config-schema-DQh5njrS.js";
2
2
  //#region src/model/llm-json-utils.d.ts
3
3
  /** @file llm-json-utils.ts
4
4
  * @purpose Extracts and repairs JSON returned by LLM providers.